GO使用Webhook如何实现github自动化部署(github,go,webhook,编程语言)

时间:2024-05-02 21:23:26 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

通常大家开发大部分是本地git push 提交,服务器上git pull 手动更新。git 可以使用webhook实现自动部署。
webhook是仓库平台的一个钩子事件,通过hook 钩子监听代码,回调通知(通知地址就是你在各个git仓库平台中填写的webhook地址,一般在你的某个项目仓库如myproject.git里面的设置中)仓库平台填写的地址。
其实原理流程就是:

GO使用Webhook如何实现github自动化部署

所以自动部署主要实现方式就是:

- 修改代码 push

- github(其他仓库平台)发送请求给你的网站服务器

- 网站服务器收到更新请求,执行自动部署脚本

- 自动部署脚本执行代码拉取,打包,修改文件等动作完成网站的更新部署

1. 下载github-webhook工具:

wget http://img.sgfoot.com/github-webhook1.4.1.linux-amd64.tar.gz

2. 运行github-webhook 安装

tar -zxvf github-webhook1.4.1.linux-amd64.tar.gzcp github-webhook /usr/bin/chmod u+x /usr/bin/github-webhook

3.运行方式

默认端口: 2020,可以更改, http的路由: /web-hook有效访问地址: http://ip:2020/web-hook-b 是shell脚本路径参数-s 是github webhook设置的密码

参数说明:

# 非后台运行github-webhook -b [shell脚本路径] -s [github webhook设置的密码]# 后台运行nohup github-webhook -b [shell脚本路径] -s [github webhook设置的密码] & # 定向日志输出nohup github-webhook -b ~/sh/你的脚本.sh -s hook密码 >> ~/logs/webhook.log 2>&1 &

特性介绍

GLOBAL OPTIONS: --bash value, -b value Execute the script path. eg: /home/hook.sh --port value, -p value http port (default: 2020) --secret value, -s value github hook secret --quiet, -q quiet operation (default: false) --verbose, --vv print verbose (default: false) --help, -h show help (default: false) --version, -v print the version (default: false)翻译:GLOBAL OPTIONS: --bash value, -b value Execute the script path. eg: /home/hook.sh 自定义脚本 --port value, -p value http port (default: 2020) 自定义端口,默认6666 --secret value, -s value github hook secret 自定义密码, 不允许为空 --verbose, --vv print verbose (default: false) 打印更多详细信息 --quiet, -q quiet operation (default: false) 安静模式,默认关闭. -q 开启,不输出任何信息 --help, -h show help (default: false) --version, -v print the version (default: false)

上面介绍几本参数使用。好了,言归正传:

部署脚本编写,该 shell 脚本的主要目的是从 github 拉取代码,脚本内容很简单,只做了目录的简要判断,

代码目录存在则更新,不存在则克隆仓库,工作目录和仓库名称、地址请换成大家自己的。

cd ~/ mkdir sh vim webhook.sh

webhook.sh:

#!/bin/bashcd /www/wwwroot/Golang/srcif [ ! -d "easy-gin" ]; then git clone https://github.com/fantasylxh/easy-ginficd easy-gingit pull

配置github webhook

GO使用Webhook如何实现github自动化部署

GO使用Webhook如何实现github自动化部署

GO使用Webhook如何实现github自动化部署

启动本地的sh脚本:

github-webhook -b ~/sh/webhook.sh -s webhook123 >> ~/logs/webhook.log 2>&1 &

GO使用Webhook如何实现github自动化部署

确认githup webhook连接是否正常:
GO使用Webhook如何实现github自动化部署

测试webhook是否生效

git push后, 就可以看到github推送的信息,比如本地我新增push一个文件:
GO使用Webhook如何实现github自动化部署

执行Commit->push 之后,我们再看服务器代码是否自动更新:

GO使用Webhook如何实现github自动化部署

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:GO使用Webhook如何实现github自动化部署的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:js正则表达式验证时间格式xxxx-xx-xx形式的示例分析下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18