jenkins之-----------在必要的時候並發構建


jenkins支持在同一節點支持同任務並發,但存在形成報告時會覆蓋相應的文件,查看官網后發現有介紹“在必要的時候並發構建”

大致意思就是:將此項勾選后,可以同時執行,執行在任務自己的workspace上,默認的,使用@<num>來區分不同的工作區,如:@2,分隔符@可能通過hudson.slaves.WorkspaceList來更改。

如果,項目使用了自定義的工作空間的話,所有的構建都會在相同的工作空間執行,所以相關的數據或結果都會被覆蓋。

試驗前提,jenkins已部署成功,本次試用的jenkins部署在linux上

一‘、測試並發構建測試

  1、首先我們要在對應節點上將執行者數量設成多個,如下圖,將master設成了2個

    

  2、新建Test任務,並寫構建腳本

    

3、進行多次構建,查看Console輸出

  分別輸出:

  

可以看出,同時執行任務時,通過job名+@數字來區分,在對應的文件中也有兩個項目

二、slave節點測試並發構建測試

之前要利用節點進行測試時,都是直接在job直接自定義工作空間,但這樣的話會導致同時執行時不能區分,所以要用如下步驟建:

1、新建新節點,並將執行數設成2,將遠程工作目錄設成你要執行的目錄

2、還是新建Test項目,輸入以下腳本

 

3、多次構建,結果如下

也可以看出,自動創建了新的workspace,在實際的執行機器上,也新建了對應的目錄

 

 

修改hudson.slaves.WorkspaceList方法:

1、如果是jenkins在linux上安裝,修改/etc/sysconfig/jenkins

    在JENKINS_JAVA_OPTIONS中加上hudson.slaves.WorkspaceList=xxx  xxx為你想的分隔符

2、直接在jenkins命令行上輸入

System.setProperty("hudson.slaves.WorkspaceList", xxx)
但重啟后失效

 


免責聲明!

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



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