Jenkins插件 - 合并构建队列?

时间:2016-12-30 03:17:48

标签: jenkins jenkins-plugins

我正在寻找jenkins插件。

这是我的情景;

1)工作B的安静时间设定为10分钟。

2)作业B将有10个排队的构建。

3)10分钟后,作业B-1开始运行。

4)B-1结束后,B-2开始运行。

5)...

==>我没有在步骤3)中运行单个B-1构建,而是想收集所有10个排队构建的参数并运行合并的构建B-x,并丢弃所有10个构建队列。

有可能吗?

2 个答案:

答案 0 :(得分:5)

如果我收到你的问题你有一个参数作业,队列中有10个作业,而你想只运行最后一个作业?

如果是,您应该使用一些groovy脚本在触发作业之前或作为构建步骤在作业内部检查队列,并清除队列中存在的所有先前作业。

这是一个清理特定分支的作业的示例,您可以根据需要对其进行修改。如果您需要任何帮助,请告诉我

谢谢,Mor

import jenkins.model.*

def branchName = build.environment.get("GIT_BRANCH_NAME")
def buildNo = build.environment.get("BUILD_NUMBER")

println "checking if need to clean the queue for" + branchName + "  build      number : " + buildNo

def q = Jenkins.instance.queue
q.items.each { 
    println("${it.task.name}:")
}

q.items.findAll { it.task.name.startsWith(branchName) }.each {
  q.cancel(it.task) 
}

答案 1 :(得分:2)

您听起来正在描述一个matrix project,它可以启用不同构建参数组合的矩阵。

如果您有3个不同的参数和3个不同的选项,这将为您提供9个版本,每个版本都在自己的工作区中。有一些选项可以删除一些组合

这是good explanation of matrix builds