// 接收POST过来的信息
$json = file_get_contents('php://input');
$data = json_decode($json, true);
// 你的项目路径
$paths = [
'master' => '/wwwroot/master/',
'develop' => '/wwwroot/develop/',
];
// 获取分支名
$ref = explode('/', $data['ref']);
$branch = end($ref);
$path = $paths[$branch]; // 当前分支路径
$access_token = '';
$client_token = $data['password'];
logs('Start',$json);
// 验证token 有错就写进日志并退出
if ($client_token !== $access_token) {
logs('验证token',$access_token);
exit('Invalid token [403]');
}
// 如果有需要 可以打开下面,把传送过来的信息写进log 可用于调试,测试成功后注释即可
exec('cd '.$path .'; git pull 2<&1; chown -R www:www '.$path .';', $output);
logs('END',$output);
// 调试时打开
echo json_encode($output);
function logs($type,$info){
$log = './system.log';
file_put_contents($log, date("Y-m-d H:i:s"). '================ LOG 【'.$type.'】 ===============' . PHP_EOL.var_export($info,true).PHP_EOL, FILE_APPEND | LOCK_EX);
}
!!!注意 exec 函数以及执行权限,脚本浏览器可访问
!!!注意 exec 函数以及执行权限,脚本浏览器可访问
!!!注意 exec 函数以及执行权限,脚本浏览器可访问
添加新评论