【发布时间】:2019-05-24 12:50:56
【问题描述】:
我有一个类似下面的管道。
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 个组件,并且队列中有一些看起来不太好,我认为这不是正确的方法。(我怀疑构建的限制可能是也在排队。)
我们有没有办法暂停并行触发,直到执行器/从机可用,并在执行器/从机空闲时一个接一个地恢复?
或者我们有比管道中并行运行更好的方法来处理它吗?
【问题讨论】:
-
@Justin Nimmo 这与上述链接完全不同
标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy