jenkins配置如下:
在Jenkins上添加了兩個節點(Slave Node),且為這兩個節點設置了一個相同的標簽"windows"。創建了一個新Job – "test-windows",選擇的是”構建一個自由風格的軟件項目”。並且為了使多個slave並行構建,我選擇了"只允許綁定到這台機器的job”,在"Label Expression"中選擇了"windows"。
然而這種方式並不能實現多個slave並行操作。網上90%說的都不靠譜。
在我使用的過程中,使用了label 去管理多個 Slave,給一個項目的構建指定了這個 label,會發現這個項目的多次構建,都使用同一個 Slave,並沒有使用 label 里的其它 Slave去構建。
查了很多資料才發現原來從 jenkins 的調度算法使用了一致性的哈希算法,jenkins根據添加的信息評測出優先級列表,選擇優先級最高的Slave去構建,當最優slave不滿足條件或者沒有可用的 execut時,才會選用下一個slave。
查了很多資料發現構造多配置項目可以選擇構建時的slave。這樣可以實現多slave並行構建。
multi configuration project比起構建自由風格的軟件項目多個Configuration Matrix,在這里可以選擇多個slave。這里選擇lable的話,還是會使用默認算法從lable中選擇最優slave進行構建。
配置完成后再構建時,會同時在多個slave上進行並行構建
禁止在master上運行job或和業務相關的操作
將 [executors] 設置為0e