网站git自动部署设置过程

git服务器:gogs

1、配置custom/conf/app.ini
打开关键配置:

SSH_PORT = 31022
START_SSH_SERVER = true

2、重启gogs

3、添加部署公钥,

4、添加web钩子

 

生产服务器:

1、使用特殊用户(如www)生成rsa公钥:
sudo -Hu www ssh-keygen -t rsa -C “dev@test.test”

2、查看生成的公钥,添加到gogs的部署密钥里;

cat ~/.ssh/id_rsa.pub

3、设置公钥权限:

chmod -R 700 ~/.ssh

4、设置远程仓库:

sudo -Hu www git init

sudo -Hu www git remote add origin ssh://webhost.test:31022/username/api.git

5、拉取更新

sudo -Hu www git --work-tree=${WEB_DIR} fetch --all

6、设置gogs WEB钩子:

7、使用程序接收指定分支的通知,然后自动覆盖更新;

sudo -Hu www git --work-tree=${WEB_DIR} reset --hard origin/master