通过gitlab的webhook进行项目自动部署的作用,本地提交代码后自动同步到服务器。避免每次重复登录服务器pull代码
1、php运行环境修改
修改php.ini 中disable_functions 将exec,system删掉。或者将disable_functions注释掉
2、建立钩子php文件
新建文件gitlab_webhook.php
<?php
/* security */
$access_token = 'MmNmMGWERQeowTerEnljoERmMGIRTRYiEy=';
//ip地址为gitlab服务器请求地址
$access_ip = array({server});
/* get user token and ip address */
$client_token = $_REQUEST['token'];
$client_ip = $_SERVER['REMOTE_ADDR'];
//查询服务器运行的php-fpm用户和文件所属权限是否一致
//print_r($_SERVER);
//文件记录日志
/* create open log */
$fs = fopen('./webhook.log', 'a');
fwrite($fs, 'Request on ['.date("Y-m-d H:i:s").'] from ['.$client_ip.']'.PHP_EOL);
/* test token */
if ($client_token !== $access_token)
{
echo "error 403