首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins多组态矩阵

Jenkins多组态矩阵
EN

Stack Overflow用户
提问于 2014-12-08 06:32:39
回答 1查看 5.5K关注 0票数 1

背景:

我们正计划从Teamcity迁移到Jenkins。大多数项目是C/C++,源代码在ClearCase中,将使用自定义构建系统。我们不会签出某个机器的源代码并进行构建,而是在远程ClearCase节点上执行build命令。

因此,在Teamcity中构建项目的配置(只需提到命令、参数和节点)是相当简单的。由于构建配置很简单,我们认为Jenkins可以提供我们正在寻找的所有特性。

问题:

但是,我们有一些项目必须建立在不同的平台上(AIX、LINUX、Windows.(32位/64位.等),并且应该建立在具有不同构建参数的特定节点上。Teamcity允许我们为每个平台创建一个项目并在其中创建多个构建配置。对于每个构建配置,我们可以指定参数/构建nodes...etc。

当我在Jenkins中寻找类似的特性时,我发现了多配置项目。我知道我们可以为平台定义一个轴,但是我无法理解如何为特定的平台指定特定的从节点。我不希望在所有从节点上执行构建。对于构建参数和build命令也可以这样说。对于每个构建配置,我可能需要不同的参数和构建命令。

在Jenkins的多配置项目中,是否可以将每个构建配置配置为具有独立的从/命令/参数设置?

Jenkins文档在这方面不是很好。为每个构建配置创建一个单独的项目不是一个好主意。如果我有20个有10个平台的项目,那么我最终会在Jenkins创建200个项目。在Teamcity中,我可以创建20个项目,并在每个项目中创建10个构建配置。

EN

回答 1

Stack Overflow用户

发布于 2014-12-08 08:53:52

如果进入> Manage节点,就可以为定义的节点添加标签。您可以在添加节点时添加标签,这取决于创建节点的方式。

您可以在它们的体系结构上定义它们,这样平台就是节点,如果您想要更多的节点,那么它们可以有相同的标签。

你会做这样的事

这只负责在您想要的体系结构上运行作业。

我认为您的配置问题可以通过作业-DSL-插件来解决,它允许您创建有目的的DSL作业。

编辑:我找到了一个更好的解决方案

您可以使用PlatformLabel插件将平台绑定到节点标签,该插件将在添加节点时将标签添加到节点--您可以在config >manage>单击该节点中看到这些标记。

然后,在一个矩阵/多配置作业中,您可以使用“从”轴(请注意,只有在连接节点时才得到这个轴),并在label部分找到所有的选项,检查您想要的

若要根据平台有条件地运行步骤,可以使用运行条件插件

我使用正则表达式匹配

表达式: Debian标签:${ENV,var="PLATFORM"}

,它假定您希望运行Debian的步骤,并且轴被称为PLATFORM。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27352582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档