【Jenkins】外掛套件:GitLab(利用 Webhook 即時建置)

  在 Jenkins 中使用 GitLab plugin,搭配 GitLab 伺服器的 Webhook 達到即時建置的效果。

1、環境配置

1.1 GitLab

  本篇以 GitLab 為例,準備1台伺服器主機作為 GitLab 主機。

  安裝符合作業系統的 GitLab(可參考小弟文章:【Linux】GitLab 安裝)。

2、Jenkins 套件管理

  由 Jenkins 主畫面依序點選「管理 Jenkins」 → 「管理外掛程式」,進入「Jenkins 套件」管理頁面。

01:Jenkins_Plugin_Manager

2.1 安裝 GitLab plugin

  點選「可用的」頁籤,輸入過濾條件「GitLab」,選取【GitLab】並按下【下載並於重新啟動後安裝】。

套件安裝有【直接安裝】與【下載並於重新啟動後安裝】兩種選擇。【下載並於重新啟動後安裝】是比較安全的做法,可避免工作正在執行時套件被更新而造成錯誤。

02:Filter_GitLab_Plugin

  套件安裝過程中會將相依套件一併載入安裝,安裝完成後顯示「下載成功。下次啟動後就會生效。」。

  當套件與相依套件全部下載完成後,按下【當安裝完成且沒有工作正在執行時,重啟 Jenkins】重新啟動 Jenkins。

03:GitLab_Plugin_Install

3、工作組態設定

  由 Jenkins 主畫面依序點選「Lab.Jenkins_VisualStudio」(前面新增的工作名稱) → 「組態」,進入「工作組態」設定頁面。

3.1 建置觸發程序

  點選「建置觸發程序」頁籤,選取【Build when a change is pushed to GitLab. GitLab CI Service URL:………】(安裝 GitLab plugin 產生的選項),按下【進階】展開進階設定。

  按下【Generate】產生「Secret token」,按下【儲存】儲存工作組態設定。

GitLab CI Service URL:Jenkins 對外部的 Instance,用來接收 CI 對此項工作的 POST request。

04:Job_Configure_Setting_GitLab

4、GitLab 專案設定

  由 GitLab 專案主畫面依序點選「Settings」 → 「Integrations」,進入「整合」設定頁面。

4.1 Integrations

  在【Integrations】區塊中輸入「URL」、「Secret Token」,選擇「Trigger」,按下【Add webhook】建立 webhook。

  • URL:在【3.1 建置觸發程序】中取得,輸入「GitLab CI Service URL」。
  • Secret Token:在【3.1 建置觸發程序】中產生。
  • Trigger:觸發事件選項,可以複選。

05:GitLab_Project_Setting_Integration_Webhook

4.2 Webhook 測試

  於前面新增的 webhook 旁按下【Test】。

06:GitLab_Project_Webhook_Test

  由 Jenkins 主畫面點選「Lab.Jenkins_VisualStudio」(前面新增的工作名稱),進入 Jenkins 工作頁面。

  在建置歷程的建置結果列表中,可以看見此項工作正在進行建置,並且標註了此次建置的原因。

07:Job_Build

嘗試將自己的理解寫成文字紀錄,資料來源均來自於網路。

如有理解錯誤、引用錯誤或侵權,請多加指正與告知,讓我有更多的進步與改進的空間,謝謝!