筆者在《jenkins 在宣告式 pipeline 中並行執行任務》一文中介紹了如何在宣告式 pipeline 中執行並行的任務。前一段時間,jenkins 發布了 1.3 版的宣告式 pipeline(declarative pipeline),這個版本繼續增強了並行執行任務的能力:並行執行的任務可以是個任務流。官方稱這一功能為 "sequential stages",本文將解釋 "sequential stages",並通過 demo 演示其用法。
就是筆者在《jenkins 在宣告式 pipeline 中並行執行任務》一文中介紹的方式,我們在乙個 stage 中設定多個子 stage 並行執行:
stages上面**中任務的執行過程如下圖所示:stage(
'並行執行的 stage')
steps
}stage(
'stage2.2')
steps }}
}stage(
'stage3')
}
任務 2.1 和任務 2.2 並行執行。
過去並行執行的任務都是單個的,但實際情況中我們還需要任務流級別的並行能力,如下圖所示:
上圖中顯示有兩條任務流在並行的執行,我們可以通過下面的**來實現:
pipeline為了顯示任務的執行時間,筆者使用了 timestamper 外掛程式。下圖顯示了筆者精簡後的執行日誌:steps }}
stage(
"build, deploy and test on windows and linux")
stages }}
stage(
"deploy") }}
stage(
"test") }}
}}stage(
"linux")
stages }}
stage(
"deploy") }}
stage(
"test") }}
}}}}
stage(
'stage3')
steps }}
}}
紅框中的內容說明我們的兩個任務流是完全並行執行的。這就是 1.3 版的宣告式 pipeline 中增加的 "sequential stages" 功能。
如今 jenkins 對宣告式 pipeline 中並行任務的執行支援的非常給力(雖然經歷了乙個稍顯漫長的過程)。筆者在 2017 年初調研時發現宣告式 pipeline 無法支援並行的任務,後來開始支援比較初級的並行任務,筆者在《jenkins 在宣告式 pipeline 中並行執行任務》一文中進行了介紹。到今年(2018) 7 月份宣告式 pipeline 發布了版本 1.3,這個版本中開始支援本文介紹的任務流級別的並行。至此筆者認為 jenkins 宣告式 pipeline 中任務的並行執行功能已經比較完善了。
參考:
sequential stages (declarative pipeline 1.3 的新功能)
PowerShell 並行執行任務
在 powershell 中可以輕鬆的執行後台任務並且讓多個後台任務並行執行。本文介紹 powershell 中 job 相關的一些命令,並通過 demo 演示如何在後台同時執行多個任務。下圖描述了在 powershell 中執行後台任務的程序模型 此圖來自網際網路 首先我們需要乙個 powersh...
AsyncTask並行執行
使用asynctask時發現乙個奇怪的現象,即建立多個任務的時候,他是乙個乙個按順序執行的,查資料之後發現 在1.5中初始引入的時候,asynctask 執行 asynctask.execute 起來是順序的,當同時執行多個 asynctask的時候,他們會按照順序乙個乙個執行。前面乙個執行完才會執...
ORACLE 的並行執行
1.並行查詢 例如 select count from big table 未設定並行查詢時,這個查詢是典型的序列查詢,不設計並行化,可以用 select from big table dbms xplan.display 檢視一下執行計畫。啟用並行查詢方法多種,可直接在查詢中使用乙個提示,或者修改...