實(shí)現(xiàn)方法
※安裝插件 Join+Plugin
※quick任務(wù)設(shè)置
※其他設(shè)置同方案一
注意
如果匯總?cè)蝿?wù)merge的報告還需要在quick任務(wù)中展現(xiàn),則需要把報告?zhèn)鞯絨uick任務(wù)的工作目錄下。
場景三
應(yīng)用場景
前面兩個方案,有如下一些缺點(diǎn):
※任務(wù)過多:包括quick任務(wù)+N個測試任務(wù),不便于管理。
※用例數(shù)變化時需人工調(diào)整任務(wù) : 人工設(shè)置每個任務(wù)運(yùn)行的哪些用例,那么在用例數(shù)發(fā)生了變化時,需要人工調(diào)整,很費(fèi)時費(fèi)力。
※任務(wù)并發(fā)度不可調(diào) : 任務(wù)的并發(fā)度等于建立的子測試任務(wù)的數(shù)目,調(diào)整并發(fā)度,需要建立/刪除任務(wù),且要改quick任務(wù)的設(shè)置,很麻煩。
※任務(wù)時間差別大,形成短板 : 整個測試完成的時間實(shí)際上是等于執(zhí)行時間長的測試子任務(wù)的時間,時間不夠優(yōu)化。
??上面的缺點(diǎn),提出以下方案(quick任務(wù)+1個測試任務(wù)+動態(tài)挑選用例),如下圖所示
實(shí)現(xiàn)方法
※各個機(jī)器之間能相互發(fā)送拷貝文件(例如通過建立信任關(guān)系),用于報告收集
※編譯任務(wù)設(shè)置 設(shè)置報告
設(shè)置測試并發(fā)度
通過腳本訪問URL觸發(fā) ${Test_Parallel} 次測試任務(wù): HUDSON_URL/job/test/buildWithParameters?token=TOKEN_NAME&Upstream_path=work@host:~/path
※測試任務(wù)設(shè)置
設(shè)置構(gòu)建參數(shù)(Upstream_path,測試完后發(fā)送報告到該路徑匯總),方法同上。
命令行觸發(fā)構(gòu)建
多次構(gòu)建并行執(zhí)行
每次構(gòu)建執(zhí)行先從用例庫獲取1個或部分用例,執(zhí)行完后再次獲取。
構(gòu)建后將報告重命名為${BUILD_NUM}.xml,然后根據(jù)Upstream_path發(fā)送報告到編譯任務(wù)所在機(jī)器 * 采用統(tǒng)一的方式管理所有的用例,根據(jù)請求返回1個或多個未執(zhí)行的用例
※根據(jù)機(jī)器屬性和任務(wù)執(zhí)行要求,設(shè)置機(jī)器Grid和任務(wù)Grid
優(yōu)勢
更省時間、提高機(jī)器利用率、負(fù)載均衡、并發(fā)度可控、任務(wù)數(shù)少