Heim  >  Artikel  >  Backend-Entwicklung  >  Server-Docking-Code-Cloud-Webhooks realisieren die automatische Bereitstellung

Server-Docking-Code-Cloud-Webhooks realisieren die automatische Bereitstellung

little bottle
little bottlenach vorne
2019-04-20 14:47:503664Durchsuche

Der Hauptinhalt dieses Artikels besteht darin, dem Server die Verbindung mit den Code-Cloud-Webhooks zu ermöglichen, um eine automatische Bereitstellung zu erreichen. Er hat einen gewissen Referenzwert und interessierte Freunde können mehr darüber erfahren.

Die Code Cloud WebHook-Funktion soll Benutzern dabei helfen, Code zu übertragen und automatisch eine von Ihnen festgelegte http-Adresse zurückzurufen.

Service-Installations-Git

PHP-Code (muss über das externe Netzwerk zugänglich sein)


<?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;));
?>

Füllen Sie das Feld aus. Geben Sie den Domainnamen ein und klicken Sie auf „Senden“

, um den Vorgang abzuschließen.

Verwandte Tutorials: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonServer-Docking-Code-Cloud-Webhooks realisieren die automatische Bereitstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen