最近在使用阿里云代码的git仓库。每次推送代码,我都必须手动拉取它。准备配置webhook很麻烦。我们的开发语言是PHP,所以使用PHP的shell_exec来执行shell脚本。下面简单介绍一下配置过程。注意:PHP开启shell_exec等危险内置函数是很危险的,以防万一,对吧~修改www用户的执行权限,因为nginx+php都是www用户执行的,而www一般配置为不允许ssh登录。然后需要更改www的执行权限,这个配置是在/etc/sudoers配置文件中设置的,找到rootALL=(ALL)ALL,在这个下面添加如下配置,如果看不懂这个的设置权限,需要请教运维童鞋,我这里只是一个简单的demo配置:rootALL=(ALL)ALLwwwALL=(ALL)NOPASSWD:/bin/chown,/bin/chmod,/usr/bin/git这里解释一下ALL是什么意思:第一个ALL表示所有电脑;第二个ALL表示所有用户;第三个ALL表示所有命令;先说下我配置的意思,授权www用户在所有电脑上root不用密码运行chown、chmod、git命令以写webhook.phpwebhook这个可以根据不同的git仓库(Gitee、Github)来配置,coding,阿里云代码...)用过,大致内容就是验证IP,验证签名,验证Hook事件类型等,我只是配置了推送事件触发hook,所以事件没有验证。
