问题
鉴于所有工作都有字符串 LEVEL_X
在它的工作名称中,其中 X 是一个 > 1 的数字。我希望 X = n 的每个工作都使用 X = n-1
监视每个工作,如果每个都成功完成,则开始构建。我想要这份工作 X = n
以 1 分钟的间隔监视其他作业。
首先,我想知道最好的方法是什么,其次我想要解决方案,如果可以通过一个小脚本来实现,也许是一个可以在 system groovy script
中运行的 groovy 脚本使用 GROOVY 插件。
最佳答案
以下是一些提示和代码片段:
http://<jenkins-server>/script
有一个 Groovy 脚本控制台这将帮助您调试脚本。 def hi = hudson.model.Hudson.instance
hi.getItems(hudson.model.Project).each {project ->
println(project.displayName)
}
n
的代码片段来自 LEVEL_n
(作为闭包实现):def level = { name ->
def ret = 0
name.eachMatch(~'LEVEL_([1-9]+[0-9*])', {ret = it[1].toInteger()})
return ret
}
def hi = hudson.model.Hudson.instance
hi.getItems(hudson.model.Project).each {project ->
println(project.lastBuild.result)
}
注意:如果您使用 Matrix 构建,事情会变得有点棘手。但只要你不这样做就足够了。
关于groovy - 如何让 Jenkins/Hudson 工作监视其他一些工作并决定是否建立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777663/