搭建gitlab自动部署时,添加完web钩子和项目中的hook文件后,测试执行,显示200成功。但是实际项目代码中并未更新。
但是在服务端,通过PHP去执行hook.php,能成功拉取代码。
后来通过分析发现问题可能有两点:
方案一:
需要在sudoers文件中添加如下代码:
vim /etc/sudoers
www ALL=(ALL) NOPASSWD:ALL
此文件没有修改权限 权限为:440
修改权限为:640
待修改完毕后将修改权限收回
再测试执行gitlab web钩子是否成功拉取代码。
如果还未生效,再操作第二种方式。
方案二:
查看一下,是否为www用户。如果你的是root用户。那执行如下命令:
chown -R www:www hook.php
再次尝试执行web钩子,即可上传成功。
如果大家还有其他的问题,欢迎留言。我们一起解决。