濮阳杆衣贸易有限公司

主頁 > 知識庫 > GO 使用Webhook 實現(xiàn)github 自動化部署的方法

GO 使用Webhook 實現(xiàn)github 自動化部署的方法

熱門標簽:賺地圖標注的錢犯法嗎 地圖標注測試 濮陽自動外呼系統(tǒng)代理 烏魯木齊人工電銷機器人系統(tǒng) 長沙ai機器人電銷 福州鐵通自動外呼系統(tǒng) 澳門防封電銷卡 廣東語音外呼系統(tǒng)供應商 智能電銷機器人營銷

通常大家開發(fā)大部分是本地git push 提交,服務器上git pull 手動更新。git 可以使用webhook實現(xiàn)自動部署。
webhook是倉庫平臺的一個鉤子事件,通過hook 鉤子監(jiān)聽代碼,回調通知(通知地址就是你在各個git倉庫平臺中填寫的webhook地址,一般在你的某個項目倉庫如myproject.git里面的設置中)倉庫平臺填寫的地址。
其實原理流程就是:

所以自動部署主要實現(xiàn)方式就是:

- 修改代碼 push

- github(其他倉庫平臺)發(fā)送請求給你的網站服務器

- 網站服務器收到更新請求,執(zhí)行自動部署腳本

- 自動部署腳本執(zhí)行代碼拉取,打包,修改文件等動作完成網站的更新部署

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腳本路徑參數(shù)
-s 是github webhook設置的密碼

參數(shù)說明:

# 非后臺運行
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)

上面介紹幾本參數(shù)使用。好了,言歸正傳:

部署腳本編寫,該 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

  • 填寫你服務器的地址,http://ip:2020/web-hook
  • 設置的密碼必須與服務器運行github-webhook -s設置的密碼一致.

啟動本地的sh腳本:

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

確認githup webhook連接是否正常:

測試webhook是否生效

git push后, 就可以看到github推送的信息,比如本地我新增push一個文件:

執(zhí)行Commit->push 之后,我們再看服務器代碼是否自動更新:

到此:webhook 通訊正常。 sh腳本沒有驗證當前分支,只做了簡單的pull,可以帶上-f 強制更新,有興趣的博友可以完善下sh。

總結

到此這篇關于GO 使用Webhook 實現(xiàn)github 自動化部署的方法的文章就介紹到這了,更多相關GO 實現(xiàn)github 自動化部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • docker利用WebHook實現(xiàn)持續(xù)集成
  • Docker容器化部署Python應用過程解析
  • Docker如何部署Python項目的實現(xiàn)詳解
  • 如何把python項目部署到linux服務器
  • ansible-playbook實現(xiàn)自動部署KVM及安裝python3的詳細教程
  • Django+python服務器部署與環(huán)境部署教程詳解
  • python+selenium定時爬取丁香園的新型冠狀病毒數(shù)據(jù)并制作出類似的地圖(部署到云服務器)
  • Docker部署Python爬蟲項目的方法步驟
  • Linux部署python爬蟲腳本,并設置定時任務的方法
  • Python基于Webhook實現(xiàn)github自動化部署

標簽:調研邀請 德州 阿克蘇 貴陽 太原 慶陽 西雙版納 廣西

巨人網絡通訊聲明:本文標題《GO 使用Webhook 實現(xiàn)github 自動化部署的方法》,本文關鍵詞  使用,Webhook,實現(xiàn),github,自動化,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《GO 使用Webhook 實現(xiàn)github 自動化部署的方法》相關的同類信息!
  • 本頁收集關于GO 使用Webhook 實現(xiàn)github 自動化部署的方法的相關信息資訊供網民參考!
  • 推薦文章
    来凤县| 图们市| 乌拉特前旗| 广饶县| 榆林市| 东方市| 资源县| 五河县| 新河县| 邛崃市| 永兴县| 呼伦贝尔市| 静宁县| 景德镇市| 凤城市| 邛崃市| 海门市| 紫云| 阿拉善左旗| 贵州省| 河南省| 灵川县| 旅游| 乐都县| 宕昌县| 西乌珠穆沁旗| 东兴市| 桐柏县| 桂东县| 慈利县| 平和县| 隆回县| 建宁县| 彰化县| 沐川县| 东莞市| 双城市| 原阳县| 盐津县| 衡水市| 东山县|