一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Golang - GO 使用Webhook 實(shí)現(xiàn)github 自動(dòng)化部署的方法

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

2020-07-09 10:10周伯通的麥田 Golang

這篇文章主要介紹了GO 使用Webhook 實(shí)現(xiàn)github 自動(dòng)化部署的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

- 修改代碼 push

- github(其他倉庫平臺(tái))發(fā)送請(qǐng)求給你的網(wǎng)站服務(wù)器

- 網(wǎng)站服務(wù)器收到更新請(qǐng)求,執(zhí)行自動(dòng)部署腳本

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

1. 下載github-webhook工具:

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

2. 運(yùn)行g(shù)ithub-webhook 安裝

?
1
2
3
tar -zxvf github-webhook1.4.1.linux-amd64.tar.gz
cp github-webhook /usr/bin/
chmod u+x /usr/bin/github-webhook

3.運(yùn)行方式

?
1
2
3
4
默認(rèn)端口: 2020,可以更改, http的路由: /web-hook
有效訪問地址: http://ip:2020/web-hook
-b 是shell腳本路徑參數(shù)
-s 是github webhook設(shè)置的密碼

參數(shù)說明:

?
1
2
3
4
5
6
7
8
# 非后臺(tái)運(yùn)行
github-webhook -b [shell腳本路徑] -s [github webhook設(shè)置的密碼]
 
# 后臺(tái)運(yùn)行
nohup github-webhook -b [shell腳本路徑] -s [github webhook設(shè)置的密碼] &
 
# 定向日志輸出
nohup github-webhook -b ~/sh/你的腳本.sh -s hook密碼 >> ~/logs/webhook.log 2>&1 &

特性介紹

  • 直接運(yùn)行二進(jìn)制文件
  • 自定義腳本路徑
  • 自定義密碼
  • 自定義端口. 0 ~ 65535
  • 安靜模式
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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) 自定義端口,默認(rèn)6666
 --secret value, -s value github hook secret 自定義密碼, 不允許為空
 --verbose, --vv   print verbose (default: false) 打印更多詳細(xì)信息
 --quiet, -q    quiet operation (default: false) 安靜模式,默認(rèn)關(guān)閉. -q 開啟,不輸出任何信息
 --help, -h    show help (default: false)
 --version, -v    print the version (default: false)

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

部署腳本編寫,該 shell 腳本的主要目的是從 github 拉取代碼,腳本內(nèi)容很簡單,只做了目錄的簡要判斷,

代碼目錄存在則更新,不存在則克隆倉庫,工作目錄和倉庫名稱、地址請(qǐng)換成大家自己的。

?
1
2
3
cd ~/
mkdir sh
vim webhook.sh

webhook.sh:

?
1
2
3
4
5
6
7
8
9
10
#!/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

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

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

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

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

啟動(dòng)本地的sh腳本:

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

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

確認(rèn)githup webhook連接是否正常:
GO 使用Webhook 實(shí)現(xiàn)github 自動(dòng)化部署的方法

測(cè)試webhook是否生效

git push后, 就可以看到github推送的信息,比如本地我新增push一個(gè)文件:
GO 使用Webhook 實(shí)現(xiàn)github 自動(dòng)化部署的方法

執(zhí)行Commit->push 之后,我們?cè)倏捶?wù)器代碼是否自動(dòng)更新:

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

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

總結(jié)

到此這篇關(guān)于GO 使用Webhook 實(shí)現(xiàn)github 自動(dòng)化部署的方法的文章就介紹到這了,更多相關(guān)GO 實(shí)現(xiàn)github 自動(dòng)化部署內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/phpper/p/12951970.html

延伸 · 閱讀

精彩推薦
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang如何使用struct的tag屬性的詳細(xì)介紹

    golang如何使用struct的tag屬性的詳細(xì)介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細(xì)介紹,從例子說起,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看...

    Go語言中文網(wǎng)11352020-05-21
  • Golanggolang的httpserver優(yōu)雅重啟方法詳解

    golang的httpserver優(yōu)雅重啟方法詳解

    這篇文章主要給大家介紹了關(guān)于golang的httpserver優(yōu)雅重啟的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,...

    helight2992020-05-14
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • GolangGolang通脈之?dāng)?shù)據(jù)類型詳情

    Golang通脈之?dāng)?shù)據(jù)類型詳情

    這篇文章主要介紹了Golang通脈之?dāng)?shù)據(jù)類型,在編程語言中標(biāo)識(shí)符就是定義的具有某種意義的詞,比如變量名、常量名、函數(shù)名等等,Go語言中標(biāo)識(shí)符允許由...

    4272021-11-24
  • Golanggo日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    go日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號(hào)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • Golanggolang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • GolangGolang中Bit數(shù)組的實(shí)現(xiàn)方式

    Golang中Bit數(shù)組的實(shí)現(xiàn)方式

    這篇文章主要介紹了Golang中Bit數(shù)組的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    天易獨(dú)尊11682021-06-09
主站蜘蛛池模板: 日韩制服丝袜在线观看 | 校花在公车上被内射好舒服 | 国产尤物精品视频 | jizzjizz大学生 | 四虎黄色影视库 | 日韩欧美亚洲国产高清在线 | 国产亚洲女人久久久久久 | 国产综合亚洲专区在线 | 亚洲国产精品自在在线观看 | 青青青草免费 | 久久99精品久久久久久园产越南 | 美女被爆 | 日本三级在线观看免费 | 男人与雌性宠物交啪啪小说 | crdy在线看亚洲 | 亚洲 欧美 中文 日韩 视频 | 边摸边吃奶边做爽视频免费 | 白丝vk丨tk失禁 | 成人福利免费视频 | 蜜桃影像传媒破解版 | 风间由美理论片在线观看 | 国产一级特黄在线播放 | 国产精品久久久久久久久 | 国产清纯91天堂在线观看 | 男女交性特一级 | 爱福利一区二区 | 日本一区二区高清免费不卡 | 欧美一区二区三区成人看不卡 | 久久九九精品国产自在现线拍 | a男人天堂| 狠狠色成人综合网图片区 | 天天综合网网欲色 | 免费观看视频在线播放 | 成年看片免费高清观看 | 欧美一级高清片免费一级 | 四虎黄色网址 | 冰雪奇缘1完整版免费观看 变形金刚第一部 | 亚洲男人精品 | 国产乱妇无码大片在线观看 | 日日操日日| 成人欧美一区在线视频在线观看 |