webhook 掛鉤自動部署
阿新 • • 發佈:2019-02-17
假設我們現在有一個需求,就是將專案打包上傳到gitlab或者github後,程式能自動部署,不用手動地去伺服器中進行專案更新並執行,如何做到?這裡我們可以使用gitlab
與github
的掛鉤,掛鉤的原理就是,每當我們提交請求到gitlab
與github
伺服器時,這時他倆會根據我們配置的訪問地扯進行訪問,webhook
掛鉤程式會一直監聽著某個埠請求,一但收到他們發過來的請求,這時就知道使用者有請求提交了,這時我們就可以用webhook
程式執行部署指令碼命令了。
使用說明
gitlab webhook
下載專案
git clone https://github.com/dounine/gitlab-webhook.git
自行修改第9行讀取密碼檔案的位置
fs.readFile('/root/issp/gitlab-webhook/password.txt', 'utf8',....
修改第65行執行shell指令碼位置
cmd.get('/root/issp/docker/' + event.mode + '/run.sh',....
執行
cd gitlab-webhook && ./start.sh
gitlab配置
URL:http://xxxxx:7777/webhook
Secret Token:password.txt裡面的密碼
github webhook
下載專案
git clone https://github.com/dounine/github-webhook.git
自行修改第3行密碼檔案的位置
var secretPassword = 'abc123' //github secret安全密碼
修改第7行執行shell指令碼位置
var bash = '/root/xxx/test.sh' //執行的指令碼
執行
cd github-webhook && ./start.sh
gitlab配置
Payload URL:http://xxxxx:7777/webhook
Secret:安全密碼