【问题标题】:Jenkins Buildflow plugin: how to make variable numbers of jobs in parallel?Jenkins Buildflow插件:如何并行制作可变数量的作业?
【发布时间】:2015-06-22 18:15:15
【问题描述】:

我有一个使用 BuildFlow 制作的作业,该作业接收一个参数,例如 job1job2job1job2

在我的 DSL 中,我用 split(",") 分隔参数的值,所以现在我有一个数组:["job1","job2","job1 job2"]

现在我想让 DSL 运行一个子作业,其中 X 是并行构建的,其中 X 是数组的大小,并迭代以获取数组的每个位置作为参数传递给子作业的构建。

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    在你的 dsl 中试试这个:

    subjob = "yourJobName"
    subjobIteration = []
    
    ["job1","job2","job1 job2"].each{ parameter ->
      //add the closure to trigger the subjob to the list
      subjobIteration.add({build( subjob, parameter )})
    }
    
    parallel( subjobIteration )
    

    此 sn-p 使用记录在 here 的并行作业执行语法。

    Groovy 默认为“并行”-DSL 正确处理列表 subjobIteration,因此不需要进一步的步骤。

    【讨论】:

    • 有这方面的文档吗?你怎么知道这样做的?
    • 一切都是关于 Groovy 的。在“构建流程插件”文档中,您可以找到并行条目。列表 subjobIteration 由多个项目组成,符合 { build("yourJobName","job1") },{ build("yourJobName","job2") } 等语法。该列表由 Groovy 解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    相关资源
    最近更新 更多