Jenkins/构建工作流程 : Provide result of one parallel executed job to multiple jobs

标签 jenkins build continuous-integration hudson jenkins-workflow

尝试在 Jenkins 中实现以下工作流程:触发器启动并行作业 A、B、C 和 D。一旦 A、B 和 C 完成,作业 X 就应该启动,对于作业 Y 也是如此,它应该在之后启动C 和 D。

工作流程草图:

          -> A -> 
 Trigger  -> B -> X -> Result 1
          -> C =>
          -> D -> Y -> Result 2

我从 Build Flow Plugin 开始但我不知道如何在不启动 C 两次的情况下设计工作流程:

parallel (
  { 
     Xpre = parallel ([
        first:  { a = build("TGZ", subjob: "T1") },
        second: { b = build("TGZ", subjob: "T2") },
        third:  { c = build("TGZ", subjob: "T3") }
     ])

     build("TGZ", subjob: "X")
  },
  {
     Ypre = parallel ([
        third2:  { c2 = build("TGZ", subjob: "T3") },
        fourth:  { d = build("TGZ", subjob: "T4") }
     ])

     build("TGZ", subjob: "Y")
  }
)

关于如何设计此工作流程而不运行 C 两次的任何线索?

最佳答案

在较新的 Workflow plugin 中,这是可能的,尽管仍然很尴尬。 :

def aDone = false def bDone = false def cDone = false def dDone = false 平行a:{ 运行A() 完成=真 },b:{ 运行() b完成=真 }, C: { 运行C() c完成=真 },d:{ 运行D() d完成=真 }, X: { 等待{aDone && bDone && cDone} 运行X() },y:{ 等待{cDone && dDone} 运行Y() }

JENKINS-27127讨论可能的增强功能。

关于Jenkins/构建工作流程 : Provide result of one parallel executed job to multiple jobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15243705/

相关文章:

hudson - jenkins什么时候读取config.xml?

git - 推送到私有(private) github 存储库时如何触发 Jenkins 构建

java - Jenkins fresh deploy 使用容器部署插件工作,但如果重新部署则失败

c - 如何链接到C 中的静态库?

java - Java 的持续集成与遗留项目的支持?

java - 如何在没有 main 函数的情况下从命令提示符运行 JUnit 测试

build - 如何从源代码构建three.js

android - make 和 mka 有什么区别?

azure-devops - 如何在 Azure DevOps 中完成 PR 后自动触发构建

oracle - 为 CI build设置/拆除 Oracle 模式,无需分割目录