小编Gir*_*tsu的帖子

Jenkins 声明式管道并行构建

我需要有两个构建与 jenkins 声明性管道并行运行。为了避免在构建后的脚本管道中构建工作区之间发生冲突,可以使用:

lock('some_lock') {
      checkout git 'gitrepo'
      build 
}
Run Code Online (Sandbox Code Playgroud)

在声明式管道中,不会直接调用 checkout 步骤,因此即使我们像这样进行锁定,

steps {
    lock('some_lock') {
           build here ongoing
    }
}
Run Code Online (Sandbox Code Playgroud)

我们可能会遇到构建 A 正在构建,构建 B 正在等待锁定的情况,但它仍然会执行检出,因为在声明式管道中,您没有指定检出何时发生。可以避免吗?

我知道理论上 Jenkins 不应该在这种情况下使用相同的工作空间。但不幸的是,它不时发生。

jenkins jenkins-pipeline

2
推荐指数
1
解决办法
860
查看次数

标签 统计

jenkins ×1

jenkins-pipeline ×1