是否可以限制主要工作而不是子任务
Is it possible to throttle the main job and not the sub tasks
是否可以在 jenkins 管道作业中使用 throttle-concurrent-builds-plugin,使作业本身限制为每个节点 2 个构建而测试阶段的并行任务不是?
用一个简短的例子来说明:
throttle(['myThrottleCategory']) {
node('testnode') {
try {
stage 'checkout scm'
....
def tasks [:]
tasks[0] = {
stage 'parallel test module A'
...
}
tasks[1] = ...
parallel tasks
}
}
}
主作业已被限制以避免死锁并提高性能。不应限制子任务,因此作业可以使用所有可用的执行程序。
作为解决方案,我将子任务放在一个单独的作业上,该作业使用主作业的 Maven 存储库和工作区。子任务 运行 仅在同一节点上。通过这种方式,我可以限制主要工作,而不是同一节点的其他执行程序上的 sub-tasks/jobs 运行ning。
是否可以在 jenkins 管道作业中使用 throttle-concurrent-builds-plugin,使作业本身限制为每个节点 2 个构建而测试阶段的并行任务不是?
用一个简短的例子来说明:
throttle(['myThrottleCategory']) {
node('testnode') {
try {
stage 'checkout scm'
....
def tasks [:]
tasks[0] = {
stage 'parallel test module A'
...
}
tasks[1] = ...
parallel tasks
}
}
}
主作业已被限制以避免死锁并提高性能。不应限制子任务,因此作业可以使用所有可用的执行程序。
作为解决方案,我将子任务放在一个单独的作业上,该作业使用主作业的 Maven 存储库和工作区。子任务 运行 仅在同一节点上。通过这种方式,我可以限制主要工作,而不是同一节点的其他执行程序上的 sub-tasks/jobs 运行ning。