Jenkins中上游項目並行後再觸發下游項目,並傳遞參數

在使用jenkins執行自動化腳本,因爲用例過多,所以決定並行job執行來提高效率,當然這個在之前的一篇文件介紹就可以做到,先配置一個job_A,然後用job_B觸發兩個下游job來實現並行。一開始我也是這樣設計的,後面出現了問題,因爲我需要把並行執行的結果合併,這個合併需要在兩個並行job執行後來完成,所以就卡在這裏。後來經過google查詢,瞭解到jenkins的另一個插件可以完成這個操作。

1.再次說明下想做的事情
(1)A、B兩個job並行執行用例
(2)執行完後合併A、B的結果,生成報告

2.JOIN Plugin
這個插件作用主要是會讓整個job的下游job全部完成後再執行。所以場景爲A、B、C、D四個job,A的下游爲B、C,然後A設置的join trigger爲D,這樣D會等B、C兩個job完成再運行D而達到效果。
A:設置兩個下游B、C,設置join trigger爲D(圖中的RFS_C)
在這裏插入圖片描述
B:運行部分用例,設置Archive the artifacts把結果文件傳遞
C:運行部分用例,設置Archive the artifacts把結果文件傳遞
D:把B、C的結果文件放在workspace中,合併結果集

注:

使用上述方法後,發現D也變成了A的下游項目,造成結果是,BCD三個同時運行了,而不是BC運行完才運行D。
調整爲:將Join Trigger刪除
在D項目配置的構建觸發器中勾選Build after other projects are build,這樣D就是BC(圖中的Test1)的下游了,而不是A的下游。構建順序就是A --> B+C -->D
在這裏插入圖片描述

還有一種是觸發下游項目並且可以傳參

配置上游項目
1.job中配置增加後構建操作步驟,點擊如下紅框(這個選項是需要裝插件的,插件名貌似是Parameterized Trigger plugin)
在這裏插入圖片描述
2.配置觸發策略,填寫觸發的job name,何時觸發(成功,失敗,穩定,不穩定等),
在這裏插入圖片描述
3.配置傳遞的參數 如下圖:將本項目總的BUILD_TAG傳遞到了test項目中的publish_build_tag,等
在這裏插入圖片描述
下游項目簡單配置
1.新建個test項目,把上游項目傳遞的參數全部加上,並不設默認值
在這裏插入圖片描述
2.在execute shell中打印這些參數的值
在這裏插入圖片描述
構建test1項目測試是否觸發test項目並傳遞參數
觸發test1項目
在這裏插入圖片描述
test項目被觸發
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

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