为什么Jenkins有两种工作,多配置项目和自由风格项目?我在某处读到,一旦你选择了其中一个,你就不能(很容易)转换到另一个。为什么我不总是选择多配置项目,以便对未来的更改是安全的?
我想为Windows和Unix (以及其他平台)上的项目构建设置一个构建。我找到了this question),它问了同样的问题,但我并没有真正得到答案。为什么我需要三个矩阵项目(而不是三个自由风格的项目),每个平台一个?为什么我不能把它们都放在一个矩阵中,平台和(例如) gcc版本在一个轴上,(我的)软件版本在另一个轴上?
我也读过this blog post,但那是在同一台机器上构建所有东西,只是版本不同而已。
所以,简而言之:大多数人如何配置一个针对许多不同平台的多配置项目?
发布于 2011-09-22 22:16:19
这两种类型的作业具有不同的功能:
作业:这些作业允许您在一台计算机或标签(计算机组,例如“-XP-32”)上构建您的项目。
如果您有一个要在Windows和Unix上构建的项目,您有两个选择:
维护一个作业
您可以将您的gcc版本保留在一个轴上,而将软件版本保留在另一个轴上。你没有理由不能这样做。
您链接的问题有一个公平点,但与您的问题没有直接关系:在他的案例中,他有一个多配置工作A,成功后触发了另一个工作B。现在,在多配置作业中,如果其中一个配置失败,整个作业就会失败(显然,因为您希望在所有配置上成功构建您的项目)。
如果要在多个平台上构建相同的项目,更好的方法是使用多配置风格的工作。
发布于 2012-09-29 11:38:08
另一种选择是使用python构建步骤来检查当前操作系统,然后调用适当的设置或构建脚本。在python脚本中,您可以将更新后的环境保存到一个文件中,并使用EnvInject插件再次注入该环境,以用于后续构建步骤。根据构建环境的大小,您还可以使用像SCons这样的多平台构建工具。
发布于 2012-07-10 23:40:03
您可以创建一个脚本(例如build)和一个批处理文件(例如build.bat),它们将与您的源代码一起签入。在Jenkins的构建步骤中,您可以调用$WORKSPACE/build - Windows将执行build.bat,而Linux将运行build。
https://stackoverflow.com/questions/7515730
复制相似问题