利用Jenkins插件實現多個job並行后再觸發job


前言

在利用Jenkins來自動執行自動化腳本,有時因某些原因,或者為了提高用例運行效率,可能需要創建多個job來同時跑腳本。

比如我之前接觸過用Jenkins來跑 Robot Framework 的自動化腳本,因為用例太多了,於是考慮創建多個job並行跑,而 Robot Framework 中恰好有個合並報告 rebot 的功能,於是當多個job跑完后,便可將各個job的報告合並,最后就得到了一個最終的報告結果。

但創建了多個job后,我們可能不知道每個job要多久才能執行完,這樣我們就不容易拿到合並后的報告,同時也不太好確定如何及時的將報告結果通過郵件發送給他人,后來在網上找到了Jenkins的一個插件,它很好的解決了我遇到的問題。

安裝 Join 插件

這是一個觸發job的插件,它可以設置等待當前job的所有下游job都執行完后,再觸發另一個job,有了它便可以很好的處理上面的問題。

在Jenkins控制台,進入系統管理->插件管理->可選插件,搜索 Join 找到該插件進行安裝。

安裝Join插件

安裝成功

安裝完成后,也可以在已安裝列表中找到該插件。

已安裝列表

使用 Join 插件

在運用 Join 插件時,一般在當前job有多個下游的job時才能體現它的意義。因此,創建多個job並設計如下場景:

job A:最開始觸發的job,它的下游是B1、B2
job B1:運行部分用例,與B2並行跑
job B2:運行部分用例,與B1並行跑
job C:等待A、B1、B2都跑完后,才會被觸發。

job A 中,做如下配置:

構建后步驟

job A配置步驟

在構建后操作步驟,選擇 Join Trigger 時,如果發現點了沒反應,可以嘗試下再多安裝另一個插件: Parameterized Trigger,該插件的作用是使各個job連接的時候可以傳遞一些job相關的信息。安裝之后最好重啟Jenkins,然后配置job時再點擊Join Trigger 就發現正常了。

安裝Parameterized Trigger插件

job B1/B2 ,用於執行用例,按實際情況設置即可。

job C ,在其他Job都執行完后才觸發,可用於匯總報告結果及發送郵件。

以上設置完成后,當job A觸發構建執行完后,其下游的 job B1/B2 開始並行跑,當 job B1/B2 都執行完,由耗時久的那個job通知並觸發構建 job C ,由 job C 執行合並報告操作,並發送郵件。


免責聲明!

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



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