Maison >développement back-end >tutoriel php >Les webhooks cloud du code d'accueil du serveur réalisent un déploiement automatique

Les webhooks cloud du code d'accueil du serveur réalisent un déploiement automatique

little bottle
little bottleavant
2019-04-20 14:47:503686parcourir

Le contenu principal de cet article consiste à permettre au serveur de se connecter aux webhooks Code Cloud pour réaliser un déploiement automatique. Il a une certaine valeur de référence et les amis intéressés peuvent en apprendre davantage.

La fonction Code Cloud WebHook vise à aider les utilisateurs à pousser du code et à rappeler automatiquement une adresse http que vous avez définie.

Git d'installation du service

Code php (doit être accessible depuis le réseau externe)


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

Remplissez le nom de domaine et cliquez sur Soumettre

Terminé

Tutoriels associés : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer