多个配置项目
多配置项目对于构建将执行许多类似的构建步骤,而您可能需要重复这些步骤的情况非常有用。
配置矩阵
配置矩阵允许您指定要复制的步骤,并创建要创建的构建类型的多轴图。
例如,假设我们有一个构建,我们想要为几个不同的目标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。
外部链接
版本历史
请参阅更新日志