国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

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

服務器之家 - 腳本之家 - Golang - GO 使用Webhook 實現github 自動化部署的方法

GO 使用Webhook 實現github 自動化部署的方法

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

這篇文章主要介紹了GO 使用Webhook 實現github 自動化部署的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

GO 使用Webhook 實現github 自動化部署的方法

所以自動部署主要實現方式就是:

- 修改代碼 push

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

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

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

1. 下載github-webhook工具:

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

2. 運行github-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.運行方式

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

參數說明:

?
1
2
3
4
5
6
7
8
# 非后臺運行
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
  • 安靜模式
?
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) 自定義端口,默認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 拉取代碼,腳本內容很簡單,只做了目錄的簡要判斷,

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

?
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

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

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 自動化部署的方法

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

總結

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

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

延伸 · 閱讀

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

    go語言制作端口掃描器

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

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

    golang如何使用struct的tag屬性的詳細介紹

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

    Go語言中文網11352020-05-21
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

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

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

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

    a165861639710342021-03-08
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

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

    4272021-11-24
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

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

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

    golang json.Marshal 特殊html字符被轉義的解決方法

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

    李浩的life12792020-05-27
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

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

    天易獨尊11682021-06-09
主站蜘蛛池模板: 希岛爱理在线 | 精品久久中文字幕 | 视频一区二区三 | 欧美一区二区三区在线看 | 免费一区 | 久久精品视频网站 | 国产欧美精品一区二区三区四区 | 亚州成人 | 国产精品国产精品国产专区不片 | 免费黄色在线观看 | 成人日韩视频在线观看 | 一区二区不卡视频 | 日韩精品在线视频 | 日韩一区中文 | 亚洲免费中文字幕 | 福利视频在线 | 国产精品爱久久久久久久 | 毛片免费看电影 | 一区二区在线免费观看 | 国产精品videosex极品 | 亚洲高清视频在线 | 成人综合一区二区 | 91在线免费看 | 亚洲aaa| 成人精品一区二区 | 亚洲欧美在线播放 | 久久精品久久久久久久久久16 | 亚洲精品一区二区三区在线 | 久久综合伊人 | 欧美日韩国产一级片 | 亚洲毛片在线观看 | 在线视频一区二区 | 亚洲国产精品久久久 | 国产一区二区精品在线 | 欧美自拍网 | 青青国产在线视频 | 精品av | 成人午夜激情 | 性欧美成人播放77777 | 中文字幕亚洲一区二区三区 | 欧美一区二区精品 |