知识储备:
- 用过MySQL等
- 了解Linux最基本的操作
- git常用操作
- 关于ssh
本文参考:linux上安装gogs搭建个人仓库
下载
https://github.com/gogs/gogs/releases
准备环境1
提前准备好MySQL、Nginx
==输入密码等信息 # adduser git ==如果需要为git添加sudo权限—>添加到sudo组【当然建议不要】 # usermod -a -G sudo git 【建议不要】 ==切换用户git su git cd ~ mkdir .ssh chmod 0755 .ssh ==提前准备好nginx mysql 【nginx用于反向代理之类的,mysql储存数据库】 ==再切换回root用户【golang-go是go运行环境】 # apt-get install golang-go ==测试 #go env
准备环境2
解压
tar zxf /home/用户名/Downloads/gogs-0-11-86-linux_amd64.tar.gz -C /home/git/
初始化Gogs数据库
(/home/git/gogs/scripts/mysql.sql 用于gogs的数据库初始化,默认使用MySQL默认引擎InnoDB)
su git cd ~/gogs mysql -uroot -p < scripts/mysql.sql
创建一个MySQL用户’gogs‘,并将数据库 gogs 的所有权限都赋予该用户
mysql -u root -p
grant all privileges on gogs.* to 'gogs'@'localhost' identified by '密码'; flush privileges; exit;
以上内容借鉴自:
安装成功后测试
启动
su git ~/gogs/gogs web
作为服务运行
# copy /home/git/gogs/scripts/init/debian/gogs /etc/init.d
# service gogs start
测试
在页面localhost:3000 新建一个仓库,然后写README.md,然后再用git命令试试
$ cd 到存放仓库的目录 $ git clone http://localhost:3000/<你的仓库>.git $ cd <仓库名> $ echo " #good yes, all right A Gogs. " > test.md $ git add test.md $ git commit -m "test" $ git remote add origin http://localhost:3000/<你的仓库>.git $ git push -u origin master
刷新页面看看结果 PS.右下角可以切换英文
改为SSH方式同步代码
git remote set-url origin ssh://git@localhost:10022/adminer/TEST1.git
关于SSH连接方式
给自己的账户管理里添加SSH KEY到Github/Gogs[原标题:SSH KEY生成方法]
通过ssh连接到Gogs ssh服务器
$ ssh git@localhost -p 10022
提示:git@localhost: Permission denied (publickey).
这种情况是你的SSH KEY没有在目标ssh服务器(Gogs ssh服务器)的授权名单里
下次再更
HTTPS证书
https://github.com/FiloSottile/mkcert
关于Nginx转发部分
下次再鸽
转移已有仓库到Gogs
Gogs界面:点加号,迁移外部仓库
关于团队管理部分
如果你有/加入了团队,那么Gogs的团队管理面板也可以满足你
另外还可以使用微信推送如PushBear
内网 多个路由器下多台设备访问Gogs
路由器里设置静态路由表
持续集成CI/CD
可以安装Drone或Jenkins 前者Go轻快,后者JAVA稳重
如果还不够,可以试试用API:https://github.com/gogs/docs-api