本文主要講述如何使用Jenkins?Gitlab設(shè)置WebHook實現(xiàn)自動部署 ,?如果你不清楚請如何安裝請訪問我之前寫的安裝
了解使用請訪問使用.
登陸Jenkins
選擇對應(yīng)的[Job]-構(gòu)建觸發(fā)器一欄
選中Build when a change is pushed to GitLab.?后面這個URL就是這個job?的webhook?url,復(fù)制備用
登陸GItlab
選擇你的項目-setting-Integrations Settings
ludzh > jenkins-gitlab-demo > Integrations Settings
粘貼剛才復(fù)制的Webhook?url,并選中Push?events(默認),?
這里的意思是的當git項目發(fā)生push事件的時候會通知Jenkins抓取代碼并構(gòu)建
其他選項默認就好,點擊?Add?webhook完成創(chuàng)建
接下來gitlab報了一個錯誤,大概意思是本地url不受支持,經(jīng)搜索發(fā)現(xiàn)gitlab好像在版本10之后出于安全考慮不允許添加本地的url作為webhook,
出現(xiàn)這個錯誤可以用gitlab管理員賬戶登錄管理界面
進入Configure GitLab
進入 Admin Area > Settings > Outbound requests
選中?Allow requests to the local network from hooks and services
Click?Save?changes?保存修改
提示修改成功了
我們登出管理員賬戶使用自己的賬戶登錄,重新設(shè)置剛才的webhook?url 發(fā)現(xiàn)可以正常Add了
現(xiàn)在來測試一下
這個我理解應(yīng)該是觸發(fā)一次Push?事件
噢耶又報錯了,報錯比沒反應(yīng)強,?看錯誤403應(yīng)該是鑒權(quán)的問題,這個倒是好解決,
我發(fā)現(xiàn)兩個解決辦法?一個是修改webhook?url?在地址中添加Jenkins賬號密碼信息
比如我的web?hook地址為?http://10.10.167.106:22000/project/jenkins-gitlab-demo
修改為?http://Jenkins賬戶:密碼@10.10.167.106:22000/project/jenkins-gitlab-demo
刪除剛才的添加的url,把修改后的url再添加一次
再次測試一下,提示200?成功了
現(xiàn)在去Jenkins那邊看下是不是開始構(gòu)建了,OK?是的
另一種解決辦法是將Jenkins的認證系統(tǒng)關(guān)閉也可以達到效果(反正是關(guān)閉登陸鑒權(quán))
我覺得這種方法可以內(nèi)部使用一下,各位看官如果有更好的解決辦法煩請留言告知
到此為止關(guān)于?Jenkins?gitlab?webhook的介紹完了?
謝謝
2018-07-10