Jenkins-構建觸發器-webhook


一、寫在前面

我們已經了解到了,Jenkins 本身內置了4種構建觸發器,分別是:

  • 觸發遠程構建
  • 其他項目工程構建后觸發 Build after other projects are built
  • 定時構建 Build periodically
  • 輪循構建  Poll SCM

這四種構建觸發器,基本可以滿足我門日常工作的大部分需求,但也有其不足的地方:

2、觸發遠程構建:需要額外調用url 通知Jenkins 去觸發構建

3、前置工程構建后觸發:可以配合其他構建觸發器一起使用,但是沒有解決主要工程構建的問題

4、定時構建:會存在即使,遠程倉庫代碼沒有任何變動,也會觸發構建,導致資源浪費

5、輪循構建:相比於定時構建,輪循構建只有在代碼變動的情況下,才會觸發構建,減少了一部分資源的浪費,但是依賴於輪詢,其定時輪詢機制本身會消耗Jenkins 服務器的資源,導致一些資源上的浪費。

 

綜合以上問題:webhook  應運而生 (這里以 gitlab 為例)

webhook 攔截特定事件(如 push 代碼后 ,自動觸發遠程構建),事件以 http 的方式通知第三方服務,如觸發持續集成Jenkins。

 

二、gitlab 利用 webhook 實現push 代碼后 Jenkins 自動構建

 

1、Jenkins 安裝 gitlab 相關插件 

 

 2、插件安裝完畢后,項目配置目錄下 構建觸發器器會新增 一個 觸發器選項,選擇並設置對應觸發構建事件,保存殷勇即可

 

 

3、gitlab 上設置webhook 

管理員登錄 gitlab 遠程倉庫,進入指定項目,設置入口 點擊進入webhook 配置頁面

 

 

4、配置gitlab webhook,配置完成后點擊 add webhook

 

 

 

 

 經測試webhook 已經生效,接下來可以試試 本地push 代碼 檢測 是否生效了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM