美文网首页
gitee配置web hook钩子实现自动部署

gitee配置web hook钩子实现自动部署

作者: 你的代码写得很烂 | 来源:发表于2018-12-27 12:45 被阅读47次

参考文档 https://blog.csdn.net/yufan_xiaowu/article/details/52513838

如果git托管到自己的服务器上,若有推送则自动部署,需要配置.git/hooks/post-receive文件

#!/bin/sh
echo "收到了推送\n" >> test.txt
# git pull
  • 注意:需要有权限的用户才能执行

如果使用码云托管代码,若推送到码云,则利用码云的钩子通知部署网站的服务器下拉代码

  • 设置码云钩子,项目-管理-WebHooks-添加POST地址参考
  • 设置PHP调用shell_exec自动部署,若没有开启该函数,在php.ini中开启。
  • 设置用户权限:我用的是LNMP搭建,运行PHP的用户是www,则需要把项目的文件夹及所有文件的权限授予www用户,执行chown www.www * -R,注意.git目录是否设置成功
// 下拉代码
public function gitpull(){
    if(function_exists("shell_exec")){
        $cute =  "cd  && git pull https://user:pass@gitee.com/user/project 1>&2";
        $exe = shell_exec($cute);
        return "下拉完成-".date('Y-m-d H:i:s');
    }else{
        return '系统配置:shell_exec函数不可用';
    }
}

相关文章

网友评论

      本文标题:gitee配置web hook钩子实现自动部署

      本文链接:https://www.haomeiwen.com/subject/rhjrlqtx.html