>백엔드 개발 >PHP 튜토리얼 >서버 도킹 코드 클라우드 웹훅으로 자동 배포 실현

서버 도킹 코드 클라우드 웹훅으로 자동 배포 실현

little bottle
little bottle앞으로
2019-04-20 14:47:503688검색

이 기사의 주요 내용은 서버가 Code Cloud 웹후크에 연결하여 자동 배포를 수행하도록 허용하는 것에 관한 것입니다. 관심 있는 친구는 이에 대해 배울 수 있습니다.

Code Cloud WebHook 기능은 사용자가 코드를 푸시하고 설정한 http 주소를 자동으로 호출하도록 돕는 것입니다.

서비스 설치 git

php 코드(외부 네트워크에 접근 가능해야 함)


<?php
//本地路径滚adminasdfdasfasdf
$file = "/wwwroot/webhooksLog.txt";
$_File = fopen($file, "a+");
$local = &#39;/wwwroot/test&#39;;
//仓库地址
$remote = &#39;远程仓库地址&#39;;
 
//密码
$password = &#39;123456&#39;;
 
//获取请求参数
$request = file_get_contents(&#39;php://input&#39;);
if (empty($request)) {
  die(&#39;请求参数为空&#39;);
}
 
//验证密码是否正确
$data = json_decode($request, true);
if ($data[&#39;password&#39;] != $password) {
  die(&#39;密码错误&#39;);
}
fwrite($_File, "************************************************\r\n");
fwrite($_File, "推送人Name: ");
fwrite($_File, $data["pusher"]["name"] . "\r\n");
fwrite($_File, "推送人Email: ");
fwrite($_File, $data["pusher"]["email"] . "\r\n");
fwrite($_File, "推送人UserName: ");
fwrite($_File, $data["pusher"]["username"] . "\r\n");
fwrite($_File, "推送人备注: ");
fwrite($_File, $data["head_commit"]["message"] . "\r\n");
fwrite($_File, "推送项目: ");
fwrite($_File, $data["repository"]["full_name"] . "\r\n");
fwrite($_File, "推送分支: ");
fwrite($_File, $data["ref"] . "\r\n");
fwrite($_File, "推送日期: ");
fwrite($_File, $data["head_commit"]["timestamp"] . "\r\n");
fwrite($_File, "************************************************\r\n");
fclose($_File);
//return;
//echo shell_exec("cd {$local} && git pull {$remote} 2>&1");
system(&#39;cd &#39;.$local.&#39; && "C:/Program Files/Git/cmd/git.exe" pull &#39;.$remote.&#39; 2>&1&#39;, $out);
echo $out;
die(&#39;done&#39; . date(&#39;Y-m-d H:i:s&#39;));
?>

도메인 이름을 입력하고 제출

을 클릭하여 완료

관련 튜토리얼: PHP 비디오 튜토리얼

위 내용은 서버 도킹 코드 클라우드 웹훅으로 자동 배포 실현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제