如何在jenkins管道中的各个阶段之间共享文件?

如何在jenkins管道中的各个阶段之间共享文件?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有一个jenkins管道,它有两个阶段,两个阶段需要从代码中克隆代码并并行运行不同的代理,如何在这些阶段共享代码 stages { parallel("a": node('label1'){ stage("Source"){ git 'xxx' } } , "b":node('label2'){ stage("Source"){

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

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

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


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

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


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

嗯。现在是这样。2020年7月17日。我认为“奴隶”的用法在过去相当长的一段时间里是不恰当的。我将把这个问题贴上“需要编辑”的标签,这样的术语现在在使用这些东西时是禁忌的。现在是这样。2020年7月17日。我认为“奴隶”的用法在过去相当长的一段时间里是不恰当的。我将把这个问题贴上“需要编辑”的标签,这样的术语现在在使用这些东西时是禁忌的。