【发布时间】:2017-12-03 01:31:42
【问题描述】:
我需要让两个构建与 jenkins 声明式管道并行运行。 为了避免脚本管道中构建工作区之间的冲突,可以使用以下构建:
lock('some_lock') {
checkout git 'gitrepo'
build
}
在声明式管道中,不直接调用 checkout 步骤,所以即使我们这样做锁,
steps {
lock('some_lock') {
build here ongoing
}
}
当构建 A 正在构建时,构建 B 正在等待锁定,但它仍会执行签出,因为在声明性管道中您没有指定何时签出。可以避免吗?
我知道理论上 Jenkins 不应该在这种情况下使用相同的工作空间。但不幸的是,它有时会发生。
【问题讨论】: