1. 程式人生 > >利用coding.net的webhook自動更新程式碼

利用coding.net的webhook自動更新程式碼

如何利用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);