我正在使用Jenkins构建流程插件。我有两个构建流程,我想阻止同时运行。我知道如何使用" Locks和Latches"插件为两个常规工作做同样的事情。但是对于构建流程,它们没有“构建环境”选项卡。那么如何使用插件来锁定两个构建流程呢?如果在作业配置或流量DSL中完成,我不在乎。
答案 0 :(得分:1)
虽然它不使用Locks and Latches插件,但似乎做了类似的工作:
lock(resource: 'myResource', inversePrecedence: true){
node('job-runner') {
stage('one at a time') {
// do a thing
}
}
通过创建锁定,需要相同命名锁定的新作业(由lock
语句创建)将暂停并等待锁定被释放。
inversePrecedence: true
意味着等待锁定的最新作业将接下来。如果您更喜欢按顺序运行的作业,可以将其保留。使用milestone()
和inversePrecedence
可以让中间作业自行取消(如果多次提交PR,则启动一系列作业)