前言
當我們有代碼提交到代碼倉庫時,我們希望能自動觸發構建任務,這個需求可以用jenkins的“構建觸發器”來實現。
一般自己公司有本地的代碼參考如gitlab,我這里以github為例,設置都差不多。
環境准備:
1.Jenkins安裝GitHub Plugin插件
2.Jenkins服務可以外網訪問
系統設置
jenkins系統管理-系統設置-Git Hub插件,點開高級選項

勾選為 Github 指定另外一個 Hook URL,這里的地址:http://ip:端口/github-webhook/記住,后面在github的webhook設置同一個地址

webhook
打開github倉庫頁面-Settings

添加webhook

編輯webhook,需注意的是Payload URL要外網也能訪問的,否則GitHub無法訪問到Jenkins
- Payload URL 輸入
http://ip:端口/github-webhook/,與上面jenkins上設置的 Hook URL 地址一致 - Which events would you like to trigger this webhook? 選擇僅push過去代碼的時候觸發 :Just the push event.

如果想選其他的觸發方式,可以點開 "Let me select individual events."
點擊 Add webhook 按鈕提交成功。

構建觸發器
在job設置里面構建觸發器勾選:GitHub hook trigger for GITScm polling

觸發構建
接下來去更新代碼,push到github倉庫,推送過去后,會自動觸發jenkins的job任務,同時查看github的webhook頁面,會看到觸發成功

