利用coding.net的webhook自动更新代码

时间:2022-09-10 08:49:57
如何利用webhook自动更新代码网上已经有很多教程,这里记录一下一个小细节。


比如,我要更新的网站目录所属用户是www,则必须在www用户环境下生成ssh-key,然后添加到coding.net这个项目的部署公钥中,否则git pull会执行失败。


附上webhook脚本:

<?php
error_reporting(1);

$target = '/home/wwwroot/site'; // web目录

$token = 'your token';
$wwwUser = 'www';
$wwwGroup = 'www';

$json = json_decode(file_get_contents('php://input'), true);

if (empty($json['token']) || $json['token'] !== $token) {
    exit('error request');
}

$cmd = "cd $target && git pull 2>&1 && chown -R {$wwwUser}:{$wwwGroup} $target/";

$result = shell_exec($cmd);