服务器对接码云webhooks实现自动部署

little bottle
发布: 2023-04-06 07:36:02
转载
3660 人浏览过

本篇文章主要内容讲的是让服务器对接码云webhooks实现自动部署,具有一定参考价值,感兴趣的朋友可以了解一下。

码云 WebHook 功能是帮助用户 push 代码后,自动回调一个您设定的 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视频教程

以上是服务器对接码云webhooks实现自动部署的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板