我有一个类似下面的管道。
stage('Build, run, report') {
for (int i = 0; i < components.size(); ++i){
builds[i] = {
stage('Build') {
build job: 'Build', parameters: [string(name: 'Component', value: component)]
}
stage('Run') {
build job: 'Run', parameters: [string(name: 'Component', value: component)]
}
stage('Reporting') {
'Reporting', parameters: [string(name: 'Component', value: component)]
}
}
}
parallel builds
“组件”是来自管道参数的列表。我想根据组件的数量运行相同的流程。
我只有一个从属节点,带有4个执行程序。如果我有10个组件,则4个组件将立即开始运行,其他6个组件将排队并等待执行程序释放。
我可以从列表中获得50个以上的comonents,并且队列中的somany看起来并不好,而且我不认为这是正确的方法。(我怀疑构建可能会有限制也在队列中。)
我们是否有办法暂停并行触发,直到执行器/从属可用,并在执行器/从属获得空闲时逐一恢复?
还是比在管道中并行运行更好的方法来处理它?</ p>
答案 0 :(得分:0)
我自己还没有尝试过,但是也许您可以考虑在每4个组件计数之后就使用静默期进行构建工作。