91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO使用Webhook如何實現github自動化部署

發布時間:2020-07-22 11:39:07 來源:億速云 閱讀:278 作者:小豬 欄目:編程語言

小編這次要給大家分享的是GO使用Webhook如何實現github自動化部署,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

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

GO使用Webhook如何實現github自動化部署

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

- 修改代碼 push

- 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

  • 填寫你服務器的地址,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自動化部署

看完這篇關于GO使用Webhook如何實現github自動化部署的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

七台河市| 军事| 东方市| 神农架林区| 霍林郭勒市| 土默特右旗| 台前县| 济南市| 库伦旗| 姚安县| 绥芬河市| 玛多县| 淮阳县| 镇江市| 大厂| 阿拉善左旗| 天峻县| 黄骅市| 长岛县| 平罗县| 历史| 安义县| 涪陵区| 石河子市| 汤原县| 德兴市| 扬中市| 鹤岗市| 海宁市| 元江| 称多县| 新泰市| 西乌珠穆沁旗| 南康市| 迭部县| 松潘县| 镶黄旗| 富顺县| 深州市| 黎川县| 永胜县|