Erlo

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

2019-04-20 15:01:10 发布   91 浏览  
页面报错/反馈
收藏 点赞
原文:http://www.php.cn/php-weizijiaocheng-417482.html
本篇文章主要内容讲的是让服务器对接码云webhooks实现自动部署,具有一定参考价值,感兴趣的朋友可以了解一下。

码云 WebHook 功能是帮助用户 push 代码后,自动回调一个您设定的 http 地址。

服务安装git

php代码(外网必须可以访问)


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

填入域名,点击提交

完成

相关教程:PHP视频教程

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认