webhook自定义服务器,GO 使用Webhook 实现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.gz
cp 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 &
特性介绍
直接运行二进制文件
自定义脚本路径
自定义密码
自定义端口. 0 ~ 65535
安静模式
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/bash
cd/www/wwwroot/Golang/src
if [ !-d "easy-gin" ]; then
git clone https://github.com/fantasylxh/easy-gin
fi
cd easy-gin
git pull
配置github webhook
设置的密码必须与服务器运行github-webhook -s设置的密码一致.
启动本地的sh脚本:
github-webhook -b ~/sh/webhook.sh -s webhook123 >> ~/logs/webhook.log 2>&1 &
确认githup webhook连接是否正常:
测试webhook是否生效
git push后, 就可以看到github推送的信息,比如本地我新增push一个文件:
执行Commit->push 之后,我们再看服务器代码是否自动更新:
到此:webhook 通讯正常。 sh脚本没有验证当前分支,只做了简单的pull,可以带上-f 强制更新,有兴趣的博友可以完善下sh。
欢迎拍砖留言。
webhook自定义服务器,GO 使用Webhook 实现github 自动化部署相关推荐
- webhook自定义服务器,创建传出 Webhook
创建传出 Webhook 2021/6/26 本文内容 传出 Webhook 充当自动程序,使用 @mention 在频道 中搜索消息. 它将通知发送到外部 Web 服务,并响应丰富的消息,其中包括卡 ...
- vue部署到服务器_利用Gulp实现代码自动化部署
前端项目在部署时一般的操作是运行打包命令,然后通过ftp或者finalShell等工具连接服务器,把dist目录下的文件拖到指定的目录下,完成项目的部署. 今天介绍一个实用的工具----gulp,可以 ...
- 机房软件管理服务器及系统软件,高校机房软件自动化部署管理系统的设计及实现...
摘要: 随着我国高等学校计算机教育的飞速发展,计算机作为一种重要的信息化工具受到越来越大的重视,计算机在各个学科中也发挥着越来越重要的作用.现在计算机在高校中是公共必修课,而且开设了更多的计算机应用专 ...
- 最详细之教你Jenkins+github自动化部署.Net Core程序到Docker目录
环境 centos7.9,.NET5 回到顶部 一.Jenkins搭建 1)下载Jenkins的war包 在\home目录建一个jenkins目录放jenkins的包 #进入\home目录 cd \h ...
- Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三)
Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三) 目录 Jenkins 之 单节点 搭建自动化部署项目环境 与 实战测试 (三) Jenkins 服务器 环境 ...
- 利用PHP实现钉钉群机器人的webhook自定义通知
前言 这阵子除了写PHP, 还在写C#的socket服务器端, 第一次写软件, 所以bug总是特别的多. 放在远程服务器上, 说不准什么时候软件就出异常了. 于是在PHP端写了个监测程序, 如果服务器 ...
- gitlab与jenkins的自动化部署(通过webhook与ansible)
gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...
- php与Git下基于webhook的自动化部署
前言 2018年第一篇文章,没啥技术含量,权当笔记 我们一般都会用git或者svn来管理我们的代码 每次代码更新后还要手动的去把服务器上的代码也更新一遍 项目小了还好 项目大了着实浪费时间 要是服务器 ...
- VuePress自动化部署到GitHub服务器
文章目录 一.首先准备ssh 1.1 生成 ssh 1.2 把公钥配置到 GitHub 二.配置 VuePress 三.如何从GitHub服务器访问项目 四.发布到自定义记录值的域名 4.1 新增域名 ...
最新文章
- 当移动数据分析需求遇到Quick BI
- 李德毅获吴文俊人工智能最高成就奖 | AI日报
- Tomcat学习总结(6)——Tomca常用配置详解
- python 多线程 线程如何获得返回值 (重写threading.Thread类)
- 极光推送 请检查参数合法性_极光(JG.US)牵手中国人寿数据中心,合作助推智能用户运营_行业动态...
- ubuntu中clion更换cmake版本以及文本背景颜色
- sqlite mysql pgsql_比较MySQL,PostgreSQL和SQLite中的数据库列类型?(跨图)
- 驱动框架6——linux内核的gpiolib学习
- python循环套循环_零基础学python 14 循环套循环:循环的嵌套
- target java_java元注解 @Target注解用法
- 如何查看SQL Server2000执行过的SQL语句
- Redis常见面试题与答案
- gridview使用ObjectDataSource做删除时记得设置DataKeyNames
- web报表工具FineReport的JS编辑框和URL地址栏语法简介
- 881.BoatstoSavePeople
- 最小生成树(MST,minimum spanning tree)
- 无法连接终端授权服务器,许可证已过期的客户端可能无法连接到终端服务器的解决方案...
- Java实现微信扫一扫
- centos7parted分区_怎样用 parted 管理硬盘分区
- CocosCreator3D之相机跟随与旋转