Gitlab配置Web Hook關聯Jenkins實現push後自動部署

  • 2020 年 3 月 16 日
  • 筆記

背景

我想改進我的持續集成流程,想在部門的內部訓練項目中做到push到msster 即自動部署到遠端伺服器。Jenkins是配置好的,我們來實現它。

實施後效果:

  1. 開發人員: 在develop分支編寫程式碼,測試完後,再合併到 master 分支,push到 gitlab.
  2. Gitlab: 收到 push 後,配置好的 trigger 觸發,通知到 jenkins
  3. Jenkins: 收到構建觸發器後,即啟動構建,配置好的構建腳本被執行,將構建的結果進行部署。

具體實現步驟

第一步,Jenkins 構建觸發器

  1. 打開jenkins的項目的job, 找到 構建觸發器 板塊,
  2. 找到板塊下的 Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.135.84:8080/project/discovery_web_deploy

注意後面的網址 GitLab webhook URL 部分,我們複製下來。

見下圖示例:

image.png

第二步,GIT Lab trigger 配置(Web Hook)

打開項目 settings – Integrations, 會看到介紹:

Integrations  Webhooks can be used for binding events when something is happening within the project.

在URL 文本框中填寫上面的 GitLab webhook URL 獲得的網址。

image.png

完成後,可點擊 test 測試是否好使。

image.png

第三步,根據你的需要,配置指定分支。

  1. 進入到你的jenkins 中的項目job, 點擊剛剛設置的觸發器,再點擊 高級。
  2. 找到 Allowed branches 行,設置 Filter branches by name 的文本框。
  3. 設置完後,點保存。

image.png

設置結束, Enjoy It.