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


    轉自51Testing,該文章介紹的插件作用類似於Loadrunner中的集合點。目前我們項目只有線上監控有Jenkins並行任務,我們分別執行,最后也不需要報告,只需要哪個case失敗了即時報警。此文留作記錄,以備不時之用。

前言

  在利用Jenkins來自動執行自動化腳本,有時因某些原因,或者為了提高用例運行效率,可能需要創建多個job來同時跑腳本。
  比如我之前接觸過用Jenkins來跑 Robot Framework 的自動化腳本,因為用例太多了,於是考慮創建多個job並行跑,而 Robot Framework 中恰好有個合並報告 rebot 的功能,於是當多個job跑完后,便可將各個job的報告合並,最后就得到了一個最終的報告結果。
  但創建了多個job后,我們可能不知道每個job要多久才能執行完,這樣我們就不容易拿到合並后的報告,同時也不太好確定如何及時的將報告結果通過郵件發送給他人,后來在網上找到了Jenkins的一個插件,它很好的解決了我遇到的問題。


安裝 Join 插件

  這是一個觸發job的插件,它可以設置等待當前job的所有下游job都執行完后,再觸發另一個job,有了它便可以很好的處理上面的問題。
  在Jenkins控制台,進入系統管理->插件管理->可選插件,搜索 Join 找到該插件進行安裝。

使用 Join 插件  

在運用 Join 插件時,一般在當前job有多個下游的job時才能體現它的意義。因此,創建多個job並設計如下場景:
  job A:最開始觸發的job,它的下游是B1、B2
  job B1:運行部分用例,與B2並行跑
  job B2:運行部分用例,與B1並行跑
  job C:等待A、B1、B2都跑完后,才會被觸發。
  在 job A 中,做如下配置:

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