首頁

目前文章總數:229 篇

  

最後更新:2026年 04月 25日

0012. GitLab 與 Jenkins 整合,代碼簽入 Gitlab 後使用 Webhook 推送 Jenkins 建置

日期:2023年 09月 09日

標籤: Git Gitlab Webhook Jenkins Pipeline(Groovy) Continuous Integration(CI) Continuous Deployment(CD)

摘要:Jenkins


應用所需:1. jenkins 主機(本篇用Windows作業系統示範 版本:2.249.1)
     2. Gitlab 管理員權限(要設定 版本:16.0.1)
解決問題:1. 當程式簽入 GitLab 後,Jenkins會自動建置,檢查該次簽入是否可正常建置完成。
基本介紹:本篇分為3大部分。
第一部分:Jenkins配置
第二部分:GitLab配置
第三部分:展示成果






第一部分:Jenkins配置

Step 1:管理Jenkins

登入後,左邊選擇管理Jenkins

Step 2:管理外掛程式

進入管理外掛程式 -> 選擇”可用的” -> Webhook


安裝這個套件:
※安裝前應確保安全,可以先參考此篇:Jenkins 如何安全的更新外掛插件(Plugin)

Generic Webhook Trigger Plugin



Step 3:Jenkins測試Job

這邊進入一個測試用Job,選擇組態

※Pipeline 與 FreeStyle 的Job都會出現

Step 4:組態配置

觸發建置程序 -> 開啟 Generic Webhook Trigger -> 設定Token(自行設定) -> 保存配置

※Pipeline 與 FreeStyle 的Job 安裝外掛後都會出現此選項

Step 5:測試Webhook

Job配置好後,可以將連結在網址列上測試是否正常
規則:
JENKINS_URL:Jenkins的URL
TOKEN_HERE:配置在該Job的Token

http://JENKINS_URL/generic-webhook-trigger/invoke?token=TOKEN_HERE


使用範例:

http://192.168.51.78:8080/generic-webhook-trigger/invoke?token=123


如下,輸入網址列後,可以發現Jenkins該Job進行建置



第二部分:GitLab配置

Step 1:配置GitLab設定-1

管理員權限登入 -> 選擇左上角設定 -> 管理員

Step 2:配置GitLab設定-2

設定 -> 網路 -> 出站請求 -> 展開 -> “允許Webhooks和整合從本地網路發出請求”,打勾
Webhook發送的功能開啟完成

Step 3:配置GitLab專案設定-1

頁面左上角 -> 選擇想要觸發建置的專案

Step 4:配置GitLab專案設定-2

依序如下設定,將該專案的Webhook與Jenkins的Webhook連動

Step 5:配置GitLab專案設定-3

往頁面下方拉,點擊加入

Step 6:配置GitLab專案設定-4

如果成功,會出現提示
沒有配置Step1、Step2 會觸發 Hook executed successfully but returned HTTP 403 的錯誤訊息

Step 7:發送測試

已加入完成後,可以按下測試,確認是否可webhook到Jenkins上,
成功會出現Status 200 OK

Step 8:(補充)確定簽入分支

如果要指定簽入某個分支才觸發Webhook需要再做以下配置:
Only:想要觸發的分支



第三部分:展示成果

Step 1:簽入檔案

這邊我們的分支是用main,簽入檔案 -> Push

Step 2:建置成功

可以發現Jenkins此Job被成功觸發建置