本篇文章主要内容讲的是让服务器对接码云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, "************************************************\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('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视频教程
以上就是服务器对接码云webhooks实现自动部署的详细内容,更多请关注求知技术网其它相关文章!