通过hooks实现Git自动发布
在服务器上,使用Git作为代码仓库,但是每次同步代码后,需要手动去修改Nginx对应的代码仓库,这样十分繁琐。
希望能够git push
后,代码就能够直接上线。
其实这可以通过git触发器实现。
建立目标仓库
1 | cd /var/www |
建立触发器
在git仓库hooks目录下增加文件post-receive
1 | vi post-receive |
增加如下内容
1 | #!/bin/sh |
增加执行权限
1 | chmod +x post-receive |
注意整个文件的用户,及用户组
测试
先手动执行post-receive
,测试是否能够正常使用
1 | ./post-receive |
测试通过后,再真实提交git push
,测试触发器是否正常执行。
- 触发器是否执行
- 执行后是否达到目的
可能错误
触发器权限
触发器需要执行权限,才能保证有post后能够触发
目标仓库权限不足
git可能没有目标仓库权限,无法在目标仓库pull
代码
相关链接 搭建Git服务器
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 螃蟹壳!