矩阵项目

ID:matrix-project

在New Item用户界面中,这个插件提供了以下功能:Muti-configuration项目

多个配置项目

多配置项目对于构建将执行许多类似的构建步骤,而您可能需要重复这些步骤的情况非常有用。

配置矩阵

配置矩阵允许您指定要复制的步骤,并创建要创建的构建类型的多轴图。

例如,假设我们有一个构建,我们想要为几个不同的目标alpha和beta创建,并且我们想同时生成调试和发布输出。在自由式作业中,我们会有以下蚂蚁命令:

Ant: set-target-alpha debug compile Ant: set-target-beta debug compile Ant: set-target-gamma debug compile

我们可以使用变量将其简化为一个蚂蚁目标:

Ant: $target $releasetype编译

通过在配置矩阵中添加两个用户定义轴:

名称:目标值:set-target-alpha set-target-beta set-target-gamma

名称:releasetype值:调试版本

Names目标和releasetype作为环境变量公开给ant脚本。Value是一个以空格分隔的点列表,用于对每个轴进行迭代。

直接的结果是,如果我们要添加另一个版本类型(例如,调试优化),我们可以简单地将值添加到用户定义的版本类型轴上。单个更改将添加配置,以针对所有三个target值构建调试优化的发布类型。

笔记

  • 创建项目时必须选择“构建多配置项目”,以后不能更改。如果你跳过这一步,你将会非常困惑,并且不能走得很远。
  • 每个配置都类似于一个单独的作业。它有自己的构建历史、日志、环境等。多配置作业的历史记录只显示已执行的配置列表。您必须深入每个配置以查看历史记录和控制台日志。

多配置项目使用的执行器

参考:多配置/矩阵作业是否总是用完内置节点上的一个执行器?

矩阵构建项目(使用Agent轴)将在随机节点上使用一个额外的执行器来协调Agent轴定义的节点上的执行。该执行器作为临时执行器(也称为“flyweight任务”)添加到节点,并且不会耗尽该节点上配置的执行器槽(该行为由hudson.model.Hudson.flyweightSupport控制)。只有这个“轻量级任务”会受到“高级项目选项”下的“限制该项目可以运行的地方”选项的影响。“实际的”或非轻量级构建执行可以通过在项目的配置矩阵下添加的“代理”轴来控制:可以选择包含多个节点的单个节点和/或标签,以及过滤轴组合。

控件还可以控制哪些节点可以运行轻量级任务排除flyweight任务插件,或者您可以将flyweight执行器固定到特定节点(请查看矩阵项目配置的“advanced”选项,将矩阵父节点绑定到标签/代理)。

扩展

请参阅扩展点列表这个插件。

矩阵轴扩展

动态轴插件

这个插件允许你定义一个由环境变量动态填充的矩阵构建轴:

硒轴插件

创建一个基于本地Selenium网格的轴,同时也基于SauceLabs Selenium功能构建。这两个组件都在每次构建之前重新构建,以利用任何新功能。

Selenium网格使用所有可用的功能,SauceLab是一个随机子集,可以配置或禁用。

Yaml轴插件

使用yaml文件创建矩阵项目轴和排除插件(类似于.travis.yml)

酱汁后的插件

这个插件允许你集成酱硒测试与Jenkins。必威国际有限公司

矩阵Groovy执行策略插件

决定矩阵项目的执行顺序和有效组合的插件。

弹性轴

这个插件是一个多配置作业的电源,允许您配置作业在一个单一标签下的所有代理上运行。

NodeLabel参数插件

这个插件增加了两个新的参数类型到作业配置-节点和标签,这允许动态选择一个作业/项目应该执行的节点。

如果这里没有列出插件,请为README文件编写PR。

外部链接

版本历史

请参阅更新日志