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 自动化部署相关推荐

  1. webhook自定义服务器,创建传出 Webhook

    创建传出 Webhook 2021/6/26 本文内容 传出 Webhook 充当自动程序,使用 @mention 在频道 中搜索消息. 它将通知发送到外部 Web 服务,并响应丰富的消息,其中包括卡 ...

  2. vue部署到服务器_利用Gulp实现代码自动化部署

    前端项目在部署时一般的操作是运行打包命令,然后通过ftp或者finalShell等工具连接服务器,把dist目录下的文件拖到指定的目录下,完成项目的部署. 今天介绍一个实用的工具----gulp,可以 ...

  3. 机房软件管理服务器及系统软件,高校机房软件自动化部署管理系统的设计及实现...

    摘要: 随着我国高等学校计算机教育的飞速发展,计算机作为一种重要的信息化工具受到越来越大的重视,计算机在各个学科中也发挥着越来越重要的作用.现在计算机在高校中是公共必修课,而且开设了更多的计算机应用专 ...

  4. 最详细之教你Jenkins+github自动化部署.Net Core程序到Docker目录

    环境 centos7.9,.NET5 回到顶部 一.Jenkins搭建 1)下载Jenkins的war包 在\home目录建一个jenkins目录放jenkins的包 #进入\home目录 cd \h ...

  5. Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三)

    Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三) 目录 Jenkins 之 单节点 搭建自动化部署项目环境 与 实战测试 (三) Jenkins 服务器 环境 ...

  6. 利用PHP实现钉钉群机器人的webhook自定义通知

    前言 这阵子除了写PHP, 还在写C#的socket服务器端, 第一次写软件, 所以bug总是特别的多. 放在远程服务器上, 说不准什么时候软件就出异常了. 于是在PHP端写了个监测程序, 如果服务器 ...

  7. gitlab与jenkins的自动化部署(通过webhook与ansible)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...

  8. php与Git下基于webhook的自动化部署

    前言 2018年第一篇文章,没啥技术含量,权当笔记 我们一般都会用git或者svn来管理我们的代码 每次代码更新后还要手动的去把服务器上的代码也更新一遍 项目小了还好 项目大了着实浪费时间 要是服务器 ...

  9. VuePress自动化部署到GitHub服务器

    文章目录 一.首先准备ssh 1.1 生成 ssh 1.2 把公钥配置到 GitHub 二.配置 VuePress 三.如何从GitHub服务器访问项目 四.发布到自定义记录值的域名 4.1 新增域名 ...

最新文章

  1. 当移动数据分析需求遇到Quick BI
  2. 李德毅获吴文俊人工智能最高成就奖 | AI日报
  3. Tomcat学习总结(6)——Tomca常用配置详解
  4. python 多线程 线程如何获得返回值 (重写threading.Thread类)
  5. 极光推送 请检查参数合法性_极光(JG.US)牵手中国人寿数据中心,合作助推智能用户运营_行业动态...
  6. ubuntu中clion更换cmake版本以及文本背景颜色
  7. sqlite mysql pgsql_比较MySQL,PostgreSQL和SQLite中的数据库列类型?(跨图)
  8. 驱动框架6——linux内核的gpiolib学习
  9. python循环套循环_零基础学python 14 循环套循环:循环的嵌套
  10. target java_java元注解 @Target注解用法
  11. 如何查看SQL Server2000执行过的SQL语句
  12. Redis常见面试题与答案
  13. gridview使用ObjectDataSource做删除时记得设置DataKeyNames
  14. web报表工具FineReport的JS编辑框和URL地址栏语法简介
  15. 881.BoatstoSavePeople
  16. 最小生成树(MST,minimum spanning tree)
  17. 无法连接终端授权服务器,许可证已过期的客户端可能无法连接到终端服务器的解决方案...
  18. Java实现微信扫一扫
  19. centos7parted分区_怎样用 parted 管理硬盘分区
  20. CocosCreator3D之相机跟随与旋转

热门文章

  1. Android被逼学习小例子1
  2. 思科学习空间(思科官方网站)
  3. 捅破窗户纸:如何从过程到对象—For金色的海洋以及所有为面向对象而困惑的Tx...
  4. BTC震荡调整后的新一轮爆发将要开启,BCH姿态逐渐明显
  5. 区块链公司发现BCH团队比BTC团队更容易接近
  6. ETC公布2018线路图,试图追赶ETH
  7. C# Socket Server 收不到数据
  8. 如何卸载Exchange Server 2010
  9. WCF常见问题之端口共享
  10. RouterOS建立PPPOE服务器