我們現(xiàn)在有一個(gè)需求定硝,將項(xiàng)目打包上傳到
gitlab
或者github
后晨雳,程序能自動(dòng)部署,不用手動(dòng)地去服務(wù)器中進(jìn)行項(xiàng)目更新并運(yùn)行紧卒,如何做到侥衬?這里我們可以使用gitlab
與github
的掛鉤,掛鉤的原理就是跑芳,每當(dāng)我們有請(qǐng)求到gitlab
與github
服務(wù)器時(shí)轴总,這時(shí)他倆會(huì)根據(jù)我們配置的掛鉤地扯進(jìn)行訪問,webhook
掛鉤程序會(huì)一直監(jiān)聽著某個(gè)端口請(qǐng)求博个,一但收到他們發(fā)過來的請(qǐng)求肘习,這時(shí)就知道用戶有請(qǐng)求提交了,這時(shí)我們就可以用webhook
程序執(zhí)行部署腳本命令了坡倔。
使用指南
Gitlab 方式
下載項(xiàng)目
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',....
運(yùn)行
cd gitlab-webhook && ./start.sh
gitlab
配置
URL:http://xxxxx:7777/webhook
Secret Token:password.txt里面的密碼
Github 方式
下載項(xiàng)目
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í)行的腳本
運(yùn)行
cd github-webhook && ./start.sh
gitlab配置
Payload URL:http://xxxxx:7777/webhook
Secret:安全密碼