git 基于码云webhook 方式,结合nginx,php建立git自动更新

nginx.conf反向代理配置:

server {
  listen 80;
  server_name git.XXX.com; #这里域名自己自定义

  location / {
        proxy_pass  http://127.0.0.1:9666; # 转发规则
        proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        #proxy_set_header Upgrade $http_upgrade;   # 升级协议头
        #proxy_set_header Connection upgrade; # 反向代理websocket时使用
  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
}

码云webhook配置

git 基于码云webhook 方式,结合nginx,php建立git自动更新

 

git-ploy代码配置讲解:

https://github.com/sy-records/git-deploy 除了readme中写的,另外要注意作者并没有配置secret字段,而secret字段才是上图签名**的真实对应字段:

git 基于码云webhook 方式,结合nginx,php建立git自动更新

使用swoole系统级的exec,而不暴露web环境的exec,这个非常好,git执行需要root命令,直接web环境下的www用户是没有权限的;

git 基于码云webhook 方式,结合nginx,php建立git自动更新