【问题标题】:Jenkins build matrix with unique parameter per configurationJenkins 构建矩阵,每个配置具有唯一参数
【发布时间】:2016-11-04 14:12:07
【问题描述】:

我安装了Matrix Groovy Execution Strategy Plugin,但我遇到了一个问题,即对于每个构建,我都必须提供一个独特的参数,例如 bundle id 或 hockeyapp id。该插件不允许我从 groovy 脚本中注入这些参数,因为它会将组合与结果值 f.e. 进行比较

组合:

{axis1:"a", axis2:"z"}

结果

{axis1:"a", axis2:"z", bundleId:"com.foo.bar"}

我不喜欢将所有 bundleID 和 hockeyappID 添加为维度的想法,因为它会产生一个非常大的矩阵,并且参数的任何更改都会产生脚本所需的大量更改。

如何为矩阵中的每个构建配置添加唯一参数?

【问题讨论】:

    标签: java jenkins groovy continuous-integration jenkins-plugins


    【解决方案1】:

    您可能想要的是EnvInject 插件。除此之外,这还允许您在 groovy 脚本中设置环境变量。

    当前坐标轴(axises)已作为环境变量可供此脚本使用

    所以添加插件,这会给你一个 Inject environment variables to the build processBuild Environment

    Evaluated Groovy script 下使用此脚本的变体

    if(AXIS_A == "a")
        return  [COMPUTE_VAR: "123456"]
    else
        return  [COMPUTE_VAR: "abcdefg"]
    

    假设你的轴被称为AXIS_A

    该方法希望返回一个映射,因此可以添加多个环境变量

    来自 Jenkins 的帮助

    评估 Groovy 脚本并注入地图结果。

    groovy 脚本必须返回一个映射 Java 对象。

    您可以通过 Groovy 脚本中的变量访问参数和其他环境变量。

    【讨论】:

      猜你喜欢
      • 2015-02-05
      • 2016-10-07
      • 2021-02-06
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多