服務安裝gitphp
php代碼(外網必須能夠訪問)git
1 <?php 2 //本地路徑滾adminasdfdasfasdf 3 $file = "/wwwroot/webhooksLog.txt"; 4 $_File = fopen($file, "a+"); 5 $local = '/wwwroot/test'; 6 //倉庫地址 7 $remote = '遠程倉庫地址'; 8 9 //密碼 10 $password = '123456'; 11 12 //獲取請求參數 13 $request = file_get_contents('php://input'); 14 if (empty($request)) { 15 die('請求參數爲空'); 16 } 17 18 //驗證密碼是否正確 19 $data = json_decode($request, true); 20 if ($data['password'] != $password) { 21 die('密碼錯誤'); 22 } 23 fwrite($_File, "************************************************\r\n"); 24 fwrite($_File, "推送人Name: "); 25 fwrite($_File, $data["pusher"]["name"] . "\r\n"); 26 fwrite($_File, "推送人Email: "); 27 fwrite($_File, $data["pusher"]["email"] . "\r\n"); 28 fwrite($_File, "推送人UserName: "); 29 fwrite($_File, $data["pusher"]["username"] . "\r\n"); 30 fwrite($_File, "推送人備註: "); 31 fwrite($_File, $data["head_commit"]["message"] . "\r\n"); 32 fwrite($_File, "推送項目: "); 33 fwrite($_File, $data["repository"]["full_name"] . "\r\n"); 34 fwrite($_File, "推送分支: "); 35 fwrite($_File, $data["ref"] . "\r\n"); 36 fwrite($_File, "推送日期: "); 37 fwrite($_File, $data["head_commit"]["timestamp"] . "\r\n"); 38 fwrite($_File, "************************************************\r\n"); 39 fclose($_File); 40 //return; 41 //echo shell_exec("cd {$local} && git pull {$remote} 2>&1"); 42 system('cd '.$local.' && "C:/Program Files/Git/cmd/git.exe" pull '.$remote.' 2>&1', $out); 43 echo $out; 44 die('done' . date('Y-m-d H:i:s')); 45 ?>
填入域名,點擊提交web