Gitlab配置Web Hook關聯Jenkins實現push後自動部署
- 2020 年 3 月 16 日
- 筆記
背景
我想改進我的持續集成流程,想在部門的內部訓練項目中做到push到msster 即自動部署到遠端伺服器。Jenkins是配置好的,我們來實現它。
實施後效果:
- 開發人員: 在develop分支編寫程式碼,測試完後,再合併到 master 分支,push到 gitlab.
- Gitlab: 收到 push 後,配置好的 trigger 觸發,通知到 jenkins
- Jenkins: 收到構建觸發器後,即啟動構建,配置好的構建腳本被執行,將構建的結果進行部署。
具體實現步驟
第一步,Jenkins 構建觸發器
- 打開jenkins的項目的job, 找到 構建觸發器 板塊,
- 找到板塊下的 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
第三步,根據你的需要,配置指定分支。
- 進入到你的jenkins 中的項目job, 點擊剛剛設置的觸發器,再點擊 高級。
- 找到 Allowed branches 行,設置 Filter branches by name 的文本框。
- 設置完後,點保存。

image.png
設置結束, Enjoy It.