首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins和多配置(矩阵)作业

Jenkins和多配置(矩阵)作业
EN

Stack Overflow用户
提问于 2011-09-22 21:43:01
回答 9查看 47.7K关注 0票数 39

为什么Jenkins有两种工作,多配置项目和自由风格项目?我在某处读到,一旦你选择了其中一个,你就不能(很容易)转换到另一个。为什么我不总是选择多配置项目,以便对未来的更改是安全的?

我想为Windows和Unix (以及其他平台)上的项目构建设置一个构建。我找到了this question),它问了同样的问题,但我并没有真正得到答案。为什么我需要三个矩阵项目(而不是三个自由风格的项目),每个平台一个?为什么我不能把它们都放在一个矩阵中,平台和(例如) gcc版本在一个轴上,(我的)软件版本在另一个轴上?

我也读过this blog post,但那是在同一台机器上构建所有东西,只是版本不同而已。

所以,简而言之:大多数人如何配置一个针对许多不同平台的多配置项目?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-09-22 22:16:19

这两种类型的作业具有不同的功能:

作业:这些作业允许您在一台计算机或标签(计算机组,例如“-XP-32”)上构建您的项目。

  • Multi-configuration作业:这些作业允许您在多台计算机或多个标签上构建您的项目,例如Windows-XP、Windows-Vista、Windows-7和RedHat -,这对于检查兼容性或为多个平台构建非常有用

如果您有一个要在Windows和Unix上构建的项目,您有两个选择:

  • 为每个配置创建一个单独的自由样式作业,在这种情况下,您必须维护每个具有一个多配置作业,并且您选择2个(或更多)标签/计算机/从属-1个用于Windows,1个用于Unix。在这种情况下,您只需为build

维护一个作业

您可以将您的gcc版本保留在一个轴上,而将软件版本保留在另一个轴上。你没有理由不能这样做。

您链接的问题有一个公平点,但与您的问题没有直接关系:在他的案例中,他有一个多配置工作A,成功后触发了另一个工作B。现在,在多配置作业中,如果其中一个配置失败,整个作业就会失败(显然,因为您希望在所有配置上成功构建您的项目)。

如果要在多个平台上构建相同的项目,更好的方法是使用多配置风格的工作。

票数 42
EN

Stack Overflow用户

发布于 2012-09-29 11:38:08

另一种选择是使用python构建步骤来检查当前操作系统,然后调用适当的设置或构建脚本。在python脚本中,您可以将更新后的环境保存到一个文件中,并使用EnvInject插件再次注入该环境,以用于后续构建步骤。根据构建环境的大小,您还可以使用像SCons这样的多平台构建工具。

票数 6
EN

Stack Overflow用户

发布于 2012-07-10 23:40:03

您可以创建一个脚本(例如build)和一个批处理文件(例如build.bat),它们将与您的源代码一起签入。在Jenkins的构建步骤中,您可以调用$WORKSPACE/build - Windows将执行build.bat,而Linux将运行build。

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

https://stackoverflow.com/questions/7515730

复制
相关文章

相似问题

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