参数化构建 - 单个参数化作业(模板)的多个“实例”AKA固定参数化构建

时间:2014-06-13 01:21:31

标签: jenkins

长话短说,

我想知道是否有人觉得有必要(并知道任何实施)"实例化" (OO术语)参数化构建。

我的意思是将参数化构建作为模板处理,许多"实例"可以生成。 每个实例都应该为参数定义不同的值组合。

最终目标是双重的:

  1. DRY(仅由参数化构建概念提供)
  2. 为每个实例分别创建构建历史记录/测试报告(否则会一团糟)
  3. 实例可以直接在jenkins UI中进行调度(而参数化的构建不是)
  4. 该模板仅用于:

    • 手动构建
    • 一次更改所有实例的配置

    现在,时间适合某些情况,因为我可能在整体方法中遗漏了一些东西。 欢迎您指出我正确的方向:)

    我有一个maven项目,有一套我需要jenkins运行的硒测试。 该套件是参数化的:浏览器,操作系统,测试环境。 所以,我可以运行它,例如与mvn test -Dbrowser=chrome -Dplatform=win [..]

    我想为每个参数组合提供单独的测试报告。 作为一个新手,我的第一个解决方案是"复制现有工作"。 又脏又脏。但有效。 如您所知,当您需要更改作业配置时,会出现问题,并且您希望保持所有这些复制和粘贴作业的同步。 然后我找到了参数化的构建功能。 它非常酷(代码重用/可维护性++),但测试报告和构建历史记录在所有实际构建中共享,因此我不能依赖它们来进行整洁的报告,例如"此测试是总是在IE上失败;但它不是关于chrome"等等。

    非常感谢您提前

2 个答案:

答案 0 :(得分:2)

我认为你所描述的是matrix项目

还有selenium插件,我把它们放在一起处理矩阵作业https://wiki.jenkins-ci.org/display/JENKINS/Selenium+Axis+Plugin

答案 1 :(得分:1)

  

One lack I can see: you can't build a single combination, as the build btn is present only at the "top level".

您是否尝试过Matrix组合插件? https://wiki.jenkins-ci.org/display/JENKINS/Matrix+Combinations+Plugin