1. 程式人生 > >webhook 掛鉤自動部署

webhook 掛鉤自動部署

假設我們現在有一個需求,就是將專案打包上傳到gitlab或者github後,程式能自動部署,不用手動地去伺服器中進行專案更新並執行,如何做到?這裡我們可以使用gitlabgithub的掛鉤,掛鉤的原理就是,每當我們提交請求到gitlabgithub伺服器時,這時他倆會根據我們配置的訪問地扯進行訪問,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配置

URLhttp://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 URLhttp://xxxxx:7777/webhook
Secret:安全密碼