gitlab-webhook-php使用

通过gitlab的webhook进行项目自动部署的作用,本地提交代码后自动同步到服务器。避免每次重复登录服务器pull代码

1、php运行环境修改

修改php.ini 中disable_functions 将exec,system删掉。或者将disable_functions注释掉


2、建立钩子php文件

新建文件gitlab_webhook.php




3、gitlab中设置webhook

gitlab-webhook-php使用_第1张图片


在gitlab的Webhooks内设置url链接。追加token参数与程序校验时使用,其他参数可以自己选择,点击“AddWebhook”后

可以点击“test hook”

通过ssh查看服务器,可以看到项目目录下webhook.log文件。证明Webhook配置成功,如果代码更新成功Ok,否,继续4、权限调试

4、权限调式

1、首先确认执行php程序的用户,可以用

ps aux | gerp php-fpm 查看
可以 
var_dump($_SERVER) ;
可以
通过phpinfo()查看

最终确保,php、nginx、项目目录输入同一用户。


5、配置deploy key

# sudo -u www ssh-keygen -t  rsa
...
#cat /home/www/.ssh/id_rsa.pub

将此公钥拷贝到gitlab中的Deploy Keys中保存



测试能否成功即可,权限问题最容易出问题


参考文档:

GitLab-webhook-PHP 详解 GitLab Webhooks 自动部署应用服务器

通过gitlab的webhook进行项目的自动部署


你可能感兴趣的:(Linux,git,PHP)