Gogs设置Git钩子实现项目自动部署

GogsWebHook – PHP便捷小工具

“小顾更新一下代码!小顾更新一下代码!!小顾更新一下代码!!!”
耳边不听响起催促的声音,仿佛想原地爆炸 ~
小伙伴们,废话不多说。给大家推荐一个实用的代码更新工具,可接收gogs推送钩子把代码拉取到指定分支上最新节点。

如何设置gogs的Web钩子?

  • 如图点击设置:
    gogs-set-web-hook
  • 设置推送链接:
    gogs-web-hook

如何部署接收推送实现自动部署?

git clone git@github.com:eson-sheng/gogs-hook.git
  • 设置秘钥
    复制文件.example.env.env之后,密钥设置需要和web钩子的秘钥文本保持一致,此项目的.example.env有示例。
GOGS_SIGNATURE = '******'
  • 部署nginx服务配置示例:
server {
  charset utf-8,gbk;
  client_max_body_size 128M;
  listen [端口];
  server_name [域名IP];

  include enable-php.conf;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  root   /home/www/gogs-hook;
  index  index.php;

  access_log  /home/wwwlogs/gogs-hook.log;
  error_log   /home/wwwlogs/gogs-hook.error.log;
}
  • 这一步很关键:设置www用户ssh-key权限免密拉取代码
    确保运行php的用户组有权限操作git仓库,请手动切换到该用户组执行第一下拉取 git pull
# su www
error: This account is currently not available.
# usermod -s /bin/bash www
# su www
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 
$ less ~/.ssh/id_rsa.pub
...
  • 点击测试推送,如图大功造成。
    gogs-hook

Thanks♪(・ω・)ノ 感谢你长得那么好看还来看我的博客!see you around ~

00:00/00:00

顾北辰

?偶遇故人点头微笑^_^心像透明水滴☝没有喜悲…?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注