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

参考文档 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 __ROOT__ && 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函数不可用';
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容