Git - 向 GitLab 提交代碼之後自動觸發 Jenkins 構建

GitLab服務器和Jenkins服務器可以通過Web Hook的方式進行通信。

(1)在Jenkins服務器中,安裝GitLab Plugin和GitLab Hook Plugin

(2)打開一個任務配置,構建觸發器中選擇"Build when a change is pushed to GitLab."記下GitLab webhook URL,使用時候將localhost替換成服務器的ip地址。

(3)在GitLab服務器中,在目標project的Settings -> Integrations中添加Web Hook。將Jenkins產生的GitLab webhook URL填入URL,其他選項使用默認設置,點擊"Add webhook",webhook添加成功:

(4) 點擊下方Test,並選擇"Push events",系統報錯,有權限問題:Jenkins匿名用戶無Build權限。

(5)在Jenkins中修改安全策略(謹慎操作,確保操作用戶具有所有權限):

系統管理 -> 全局安全配置 -> 在安全矩陣中給予匿名用戶Build權限

(6)在GitLab中再次測試:

(7) 在配置安全策略過程中出現了服務器訪問報錯,用戶無法登錄的情況,具體可參考:

主要思路是:通過修改~/.jenkins/config中authorizationStrategyclass的值(經重啓Jenkins服務器生效),逐步改變Jenkins的安全策略,最終恢復正常狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章