如何使用Jenkins Multi-Configuration(Matrix)类型的项目?

时间:2014-05-29 13:39:50

标签: powershell jenkins continuous-integration branding software-product-lines

对于Matrix项目,詹金斯official Wiki page并没有真正帮助我;所以我有几个问题。

我们正在尝试构建几个基本相同的项目,只有一些项目的客户品牌不同。换句话说,除了将BrandA变成BrandB(或BrandC等)的一些调整之外,软件/测试/等都是相同的。

我想我应该使用Matrix项目为BrandA,BrandB等创建构建。虽然我还没有弄清楚我的所有步骤(包括如何在构建后重命名可执行文件)我知道我会需要在构建过程中将品牌名称传递给我的许多Jenkins Powershell脚本,然后在脚本中使用该品牌。

如何将这些变量放入我的脚本中?它们会自动传递到Jenkins的每个构建步骤吗?要使用的变量名是什么?

最后,在Jenkins构建这些多配置项目是否有很好的资源?我似乎无法在网上找到任何全面的内容。

3 个答案:

答案 0 :(得分:2)

如果你经常为BrandA建立工作,而偶尔为BrandB和BrandC建立一个矩阵项目可能不是你想要的。相反,我建议使用参数化作业,其中品牌是一个默认值为BrandA的参数。如果参数名为BRAND,则参数可在所有构建和发布步骤中以${BRAND}访问,并作为环境变量%BRAND%访问。

我会向您推荐parameterized build wiki以获取更多详情。

答案 1 :(得分:2)

是的,${BRAND}%BRAND%应该可以正常使用。

如果你正在使用Maven,${env.BRAND}也会这样做。

有一个插件,你可以看到你的工作/构建可用的所有环境变量。 https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin

答案 2 :(得分:0)

我不知道这种过程,但我建议您使用复制项目功能。

  1. 新工作
  2. 从现有职位复制
  3. 您将获得一份工作副本,并且您可以轻松设置所有特定字段。