利用GitLab的Webhook
功能,可以實現當代碼PUSH到倉庫時,自動發送消息給Jenkins觸發指定任務,從而節省人工操作,實現自動化構建。
配置Jenkins
1、安裝插件
Manage Jenkins -> 插件管理,安裝GitLab Plugin
和GitLab Hook Plugin
兩個插件。其中GitLab Hook Plugin
插件很久沒更新,Jenkins可能會提示風險漏洞,不介意的話忽略就好。
2、配置GitLab憑據
在Jenkins任務配置中,選擇對應的GitLab憑據,如果沒有則選擇Add
創建,否則跳過第3步。
3、創建憑據
類型爲GitLab API token
,填入GitLab用戶的API token
(在GitLab用戶設置裏可以找到)。
4、任務設置
任務的構建觸發器選項下,選中Build when a change in pushed to GitLab
,把這行中的URL複製下來,後面GitLab配置中會用到。
上圖中的URL代表觸發Jenkins的test任務。
配置GitLab
進入GitLab後臺系統,點擊要配置的倉庫項目,進入設置 -> Webhooks,鏈接框中填入上面Jenkins提供的URL,勾選Push events
,點擊Add webhook
。
注:
Push events
框可以指定觸發分支,比如master
。
然後點擊測試,選擇Push events
。如果返回403,進入Jenkins管理下系統設置的GitLab選項,取消Enable authentication for '/project' end-point
複選框,然後保存。
按以上配置好後,只要有新的代碼Push到GitLab,就會觸發Jenkins的test任務構建了。