我們現(xiàn)在有一個需求甥雕,將項目打包上傳到
gitlab
或者github
后盏道,程序能自動部署,不用手動地去服務器中進行項目更新并運行互艾,如何做到试和?這里我們可以使用gitlab
與github
的掛鉤,掛鉤的原理就是纫普,每當我們有請求到gitlab
與github
服務器時阅悍,這時他倆會根據(jù)我們配置的掛鉤地扯進行訪問好渠,webhook
掛鉤程序會一直監(jiān)聽著某個端口請求,一但收到他們發(fā)過來的請求节视,這時就知道用戶有請求提交了拳锚,這時我們就可以用webhook
程序執(zhí)行部署腳本命令了。
使用指南
Gitlab 方式
下載項目
git clone https://github.com/dounine/gitlab-webhook.git
自行修改第9行讀取密碼文件的位置
fs.readFile('/root/issp/gitlab-webhook/password.txt', 'utf8',....
修改第65行執(zhí)行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 方式
下載項目
git clone https://github.com/dounine/github-webhook.git
自行修改第3行密碼文件的位置
var secretPassword = 'abc123' //github secret安全密碼
修改第7行執(zhí)行shell腳本位置
var bash = '/root/xxx/test.sh' //執(zhí)行的腳本
運行
cd github-webhook && ./start.sh
gitlab配置
Payload URL:http://xxxxx:7777/webhook
Secret:安全密碼