最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年05月25日 08:49:13   作者:周伯通的麥田  
這篇文章主要介紹了GO 使用Webhook 實現(xiàn)github 自動化部署的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

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

- 修改代碼 push

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

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

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

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 拉取代碼,腳本內(nèi)容很簡單,只做了目錄的簡要判斷,

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

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。

總結(jié)

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

相關文章

  • Golang基于JWT與Casbin身份驗證授權實例詳解

    Golang基于JWT與Casbin身份驗證授權實例詳解

    這篇文章主要為大家介紹了Golang基于JWT與Casbin實現(xiàn)身份驗證授權實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Golang連接Redis數(shù)據(jù)庫的方法

    Golang連接Redis數(shù)據(jù)庫的方法

    這篇文章主要介紹了Golang連接Redis數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Go方法接收者值接收者與指針接收者詳解

    Go方法接收者值接收者與指針接收者詳解

    這篇文章主要為大家介紹了Go方法接收者值接收者與指針接收者詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • golang中的defer函數(shù)理解

    golang中的defer函數(shù)理解

    defer是Go語言中的延遲執(zhí)行語句,用來添加函數(shù)結(jié)束時執(zhí)行的代碼,常用于釋放某些已分配的資源、關閉數(shù)據(jù)庫連接、斷開socket連接、解鎖一個加鎖的資源,這篇文章主要介紹了golang中的defer函數(shù)理解,需要的朋友可以參考下
    2022-10-10
  • go build和go install的區(qū)別介紹

    go build和go install的區(qū)別介紹

    這篇文章主要介紹了go build和go install的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 詳解Go語言中上下文context的理解與使用

    詳解Go語言中上下文context的理解與使用

    在Go的日常開發(fā)中,Context上下文對象無處不在,這篇文章小編就來帶大家深入了解一下上下文context的理解與使用,文中的示例代碼講解詳細,需要的可以參考下
    2023-10-10
  • golang 流式讀取和發(fā)送使用場景示例

    golang 流式讀取和發(fā)送使用場景示例

    這篇文章主要為大家介紹了golang 流式讀取和發(fā)送使用場景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Go命令行參數(shù)解析flag 包使用示例詳解

    Go命令行參數(shù)解析flag 包使用示例詳解

    這篇文章主要介紹了Go命令行參數(shù)解析flag 包使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Golang定制化zap日志庫使用過程分析

    Golang定制化zap日志庫使用過程分析

    Zap是我個人比較喜歡的日志庫,是uber開源的,有較好的性能,在項目開發(fā)中,經(jīng)常需要把程序運行過程中各種信息記錄下來,有了詳細的日志有助于問題排查和功能優(yōu)化,但如何選擇和使用性能好功能強大的日志庫,這個就需要我們從多角度考慮
    2023-03-03
  • Golang?pprof性能測試與分析講解

    Golang?pprof性能測試與分析講解

    剛開始接觸go就遇到了一個內(nèi)存問題,在進行內(nèi)存分析的時候發(fā)現(xiàn)了一下比較好的工具,在此留下記錄,下面這篇文章主要給大家介紹了關于go性能分析工具pprof的性能測試,需要的朋友可以參考下
    2023-04-04

最新評論

松滋市| 蒲城县| 西安市| 惠州市| 山东省| 梁山县| 宜良县| 缙云县| 社旗县| 沙洋县| 曲麻莱县| 广水市| 凤冈县| 石屏县| 吕梁市| 南宫市| 中西区| 禄丰县| 新化县| 郸城县| 额尔古纳市| 安福县| 林口县| 海淀区| 松潘县| 马鞍山市| 禄丰县| 石首市| 积石山| 安西县| 龙游县| 航空| 隆子县| 天长市| 铁力市| 雷山县| 鄂伦春自治旗| 边坝县| 青浦区| 始兴县| 呼图壁县|