我有一个构建流程,可以在两者之间重启机器。
build(“ATSMachineReimage”,MachineName:“q”)
build(“CheckForShutdown”,MachineName:“q”)
build(“SetupMachine”,MachineName:“q”)
build(“RestartMachine”,MachineName:“q”)
build(“CheckForShutdown”,MachineName:“q”)
build(“RunTest”,MachineName:“q”)
Jenkins应该等到机器启动并完成构建流程中的下一个作业(“RunTest”)。
但是如果队列中有另一个构建流程等待,Jenkins会在机器重新启动后立即选择下一个构建流程。
理想情况下,它应该完成总构建流程以继续下一个构建流程。
答案 0 :(得分:0)
如果问题仅在您有另一个队列构建时,您可以使用groovy脚本清理队列,并继续您的流程。
您可以修改此示例
import jenkins.model.*
def branchName = build.environment.get("GIT_BRANCH_NAME")
println "checking if need to clean the queue for" + branchName + "
println "=========before clean the queue ... =="
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) }