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

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

#1楼 票数:0

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

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

  ask by zhangyong23 translate from so

未解决问题?本站智能推荐:

1回复

如何在Groovy ReactJS中的jenkins -pipeline脚本中归档新的构建文件

尝试将所有文​​件归档到在jenkins管道脚本中的工作区中形成的zip文件中。 我尝试使用这个 archiveArtifacts'C:\\ Program Files(x86)\\ Jenkins \\ jobs \\ pipeline CI_MS \\ workspace' 但
1回复

在 Jenkins 管道之间共享文件

我看到的很多示例类似于如何从管道中使用 Jenkins Copy Artifacts Plugin (jenkinsfile)? 在 SAME 管道中共享文件。 我想在两个不同的管道之间共享一个文件。 我尝试像这样使用 Copy Artifacts 插件 我收到 Pipeline2 的以下错误
1回复

jenkins-pipeline 中的 DockerBuilderPublisher 的 cleanupWithJenkinsJobDelete 有什么用?

我在 jenkins 管道中使用以下代码来构建 docker 镜像并推送到自定义工件注册表。 有人可以解释一下cleanupWithJenkinsJobDelete作用是什么,有什么用? 所有可用选项和含义的任何文档链接都会有所帮助。 谢谢。
1回复

Jenkins-pipeline 失败:在步骤中找不到这样的 DSL 方法“androidLint”

在我的 jenkins-pipeline 期间,我在“静态分析”阶段失败。 这是我的 Jenkinsfile : 这是控制台输出: 我不知道为什么我会得到“在步骤中找不到这样的 DSL 方法 'androidLint'”。 我认为这是一个 jenkins 插件问题,因为 Android
2回复

在 Jenkins-Pipeline 中,如何使用 sshPut 复制文件夹的内容,而不是文件夹本身?

在我的 Jenkins 服务器上,我有一个简单的测试管道来检查将构建数据复制到远程服务器。 我正在使用 SSH 管道步骤插件。 我的代码是: 结果是在 /mnt/test 中,我创建了“tst”文件夹及其内容。 我想要的只是这个 tst 文件夹的内容被传输到目标。 我应该如何格式化 sshP
1回复

Jenkins-pipeline从groovy中的属性文件中提取和设置变量

首先,我正在将管道编写为groovy,以便检入git。 请不要提供任何必要的解决方案。 我的问题陈述是: 从文件中提取变量并将其设置为等于groovy对象。 我试过的 我尝试了其他建议无济于事。 特别是下面两个。 使用Groovy从属性文件中获取值 将
1回复

在Jenkins-Pipeline中使用Jenkins-Plugin

我正在尝试将ClearCase UCM插件合并到Jenkins-Pipeline中。 当前,我正在使用分步方法来调用ClearCase插件: 据我了解的插件系统,实例化是通过使用@DataBoundConstructor注释的构造函数完成的: 我从类似项目的config.xml
4回复

如何知道哪个用户回答了Jenkins-Pipeline输入步骤?

我有一个Jenkinsfile脚本,用于测试执行SVN合并的可能性,然后要求用户提交合并的权限。 我想知道回答“输入”步骤的用户名,以便将其写入提交消息。 这可能吗? 这是假设我想做的事情: