Jenkins - 觸發構建


1 - Jenkins遠程構建

可以通過以POST方式調用API來觸發構建任務的執行
http://<IP>:<PORT>/job/<JOB NAME>/build?token=<TOKEN>&cause=<CAUSE>

1.1 - 創建用戶token


1.2 - 配置任務的觸發器

在任務的“構建觸發器”部分“觸發遠程構建 (例如,使用腳本)”添加令牌

1.3 - 遠程觸發構建

在瀏覽器中訪問如下URL
http://192.168.16.200:8080/job/test/build?token=RemoteTesting&cause=testtrigger
瀏覽器不會有反應,但Jenkins后台將收到請求並開始構建

1.4 - 查看任務執行情況

2 - GitLab觸發構建

2.1 下載插件

當GitLab分支有代碼提交或者合並請求時,通過Webhook配置可以自動觸發執行對應的Jenkins任務。
需要在Jenkins上安裝如下插件:https://plugins.jenkins.io/gitlab-plugin

2.2 Jenkins安全配置

系統管理---》全局安全配置,取消“防止跨站點請求偽造”

2.3 Jenkins任務配置

配置源碼管理

分支為空,表示默認任何代碼改動的分支都會拉取。

配置“構建觸發器”

注意:

  • GitLab webhook URL,要在GitLab中配置。
  • 點擊Secret token部分的Generate按鈕,生成令牌,這個令牌要在GitLab中配置。

2.4 GitLab項目配置

在project---》Settings---》Integrations---》配置Jenkins生成的GitLab webhook URL和Token,並指定觸發條件。

2.5 測試GitLab Webhook

在GitALab的項目添加webhook 成功后,可以通過提供的Test功能測試配置是否成功。

選擇Test按鈕下的操作類型

如果配置成功,那么Test的結果會顯示“Hook executed successfully: HTTP 200”

Jenkins任務會被觸發執行

3 - 其他工程構建后觸發

4 - 問題處理

GitLab通過webhook向Jenkins發送請求,報錯“Requests to the local network are not allowed”

問題分析

Gitlab10.6 版本以后不允許向本地網絡發送webhook請求,如果想向本地網絡發送webhook請求,則需要使用管理員帳號登錄做指定配置。

處理方法

Admin area---》Settings---》OutBound Request,勾選“Allow requests to the local network from hooks and services”---》保存更改。


免責聲明!

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



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