【问题标题】:Read pom.xml from Pipeline A to Pipeline B in jenkins在jenkins中从管道A读取pom.xml到管道B
【发布时间】:2020-04-30 21:35:14
【问题描述】:

我有两个 Jenkins 流水线,比如流水线 A 和流水线 B。这里,流水线 B 是流水线 A 的子集,即首先流水线 A 将运行,然后它将调用流水线 B。

管道 A 正在使用 pom.xml 构建 maven 项目。 然后将调用管道 B,这会将 maven 项目的 .war 部署到工件。

我想读取管道 B 中的 pom.xml,它将作为参数从管道 A 传递。

谁能帮助我我们如何读取管道 B 中的 pom.xml

注意:我使用的是声明式管道代码。

【问题讨论】:

  • 你有两个独立的管道的原因是什么?
  • @JF Meier 原因是我需要另一个将工件部署到工件的管道。我希望有一个单独的管道来完成部署工件的工作,而不是在我们构建项目然后部署工件的一项工作中完成。
  • 好的,但是为什么呢?有什么优势?
  • 每当任何开发人员运行他的构建管道而不考虑任何项目时,他/她都应该调用这个工件管道来部署工件。
  • 对我来说听起来有问题..让构建运行并将其构建的工件部署到适当的存储库管理器...我对这种方法没有任何优势,或者您没有对其进行详细解释够了。。

标签: maven jenkins jenkins-pipeline pom.xml jenkins-declarative-pipeline


【解决方案1】:

您需要在管道 A 中存档您的文件 pom.xml(使用步骤 archiveArtifacts)。然后将此归档文件从管道 A 复制到管道 B(使用 Copy Artifact Plugin)。

类似这样的:

  • 管道 A:
    stage('Archive pom.xml'){
        steps {
            archiveArtifacts artifacts: 'pom.xml'
        }
    }
  • 管道 B:
    stage('Get pom.xml'){
        steps {
            copyArtifacts projectName: 'pipeline-A', filter: 'pom.xml'
        }
    }

【讨论】:

    【解决方案2】:

    我认为正确的答案是使用工件存储库管理器来存储管道 A 中的 pom,您可以在管道 B 执行期间从工件存储库管理器中获取它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      相关资源
      最近更新 更多