原理
- push代码到github的时候,github会监听push动作
- 然后就会访问github中webhook配置的url,如:https://xxx.com/webhook.php
- webhook.php中的代码会在服务器中git pull相应的代码到web目录中
配置
如果回调成功了会返回Response 200.
webhook.php 脚本实现
1 | <?php |
给回调程序加上执行权限
1 | chmod 755 webhook.php |
各种坑
- git pull失败原因
- 权限问题,nginx是www用户,.git文件是root创建的,www对.git没有访问权限,需要修改.git文件的用户和组。
- ssh密钥是root用户创建的,www也没有访问权限,需要切换www用户重新生成ssh密钥。