【问题标题】:how to share files between stages in jenkins-pipeline?如何在詹金斯管道的阶段之间共享文件?
【发布时间】:2020-07-17 15:21:34
【问题描述】:

我有一个 jenkins 管道,它有两个阶段,两个阶段需要从代码中克隆代码并并行运行不同的代理,如何在阶段之间共享代码?

stages {
    parallel("a":
    node('label1'){
     stage("Source"){
      git 'xxx'
     }
    }
   ,
   "b":node('label2'){
     stage("Source"){
      git 'xxx'
     }
    }
  }
}

【问题讨论】:

  • 好吧。到现在为止。 2020 年 7 月 17 日。我认为“奴隶”的使用在很多昨天都是不合适的。我将把这个问题标记为“需要编辑”,这些术语现在在使用这些东西时是禁忌。试试 Primary/Secondary。

标签: jenkins jenkins-pipeline


【解决方案1】:

我想你是在问你是否可以让两个不同的代理并行处理同一个代码副本,而不是他们都从 git 中检查自己的副本。因为代理实际上是不同的机器(或虚拟机等),所以我能想到的唯一方法是在两个代理都挂载的网络文件系统上检查代码。

但是……这听起来是个坏主意。如果a 正在写入一个文件,而b 正在写入同一个文件,谁会赢?您无法预测两者在源代码树中的工作顺序。您可能会得到不可预知的结果。

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多