gitee码云使用WebHook实现代码同步到服务器实现PHP项目自动部署

  • 作者:刘吉祥
  • Git
  • 时间:2021-05-17
  • 694人已阅读
简介gitee码云代码自动同步到服务器实现PHP项目自动部署


  1. 码云上创建你的仓库以及添加钩子

    image.png



2.相关的文件权限开放

image.png


3.钩子文件webhook代码

<?php
//获取WebHook推送的数据
$body = json_decode(file_get_contents("php://input"), true);
// 请求密码
$password = '123456';

// 验证提交分支是否为master
if (!isset($body['ref']) || $body['ref'] !== 'refs/heads/master') {
   echo '非主分支' . $body;
   exit(0);
}

// 验证提交密码是否正确
if (!isset($body['password']) || $body['password'] !== $password) {
   echo '密码错误';
   exit(0);
}
// 验证成功,拉取代码
$path = $body['project']['path'];


//1 cd 到指定项目目录
//2 git reset --hard  放弃本地修改,直接覆盖  git reset --hardgit clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候
//3 git pull 从码云仓库拉取代码
$command = 'cd /www/wwwroot/gitshop/' . $path . ' && git reset --hard origin/master && git clean -f && git pull 2>&1';

$res = shell_exec($command); //执行shell命令



4.本地phpstorm提交代码

image.png

5.效果

image.png

 

文章评论

共有0条评论来说两句吧...

用户名:

验证码:

Top