0

我们有一个参数化的工作来执行数据库集成测试。该参数基本上是要测试的数据库的品牌(即mysql,derby,oracle等......)。我们希望确保完全相同的测试在所有支持的数据库上成功。

我们的问题是 Jenkins 没有考虑执行的参数。执行结果不按参数值分组。因此,如果最后一次执行成功,则该作业被认为是成功的。即使以前的工作可能失败了。

无论如何,我正在寻找一种方法来保持单一的工作定义。如果定义是重复的,那么它们迟早会出现分歧的危险。并且测试将成为特定于数据库品牌的。

到目前为止我已经尝试过:

  • 为每个参数值制作一个虚拟作业并从那里触发参数化作业。但是触发作业的结果不包含在虚拟作业中。
  • 模板插件是正确的,因为它认为参数化作业是“不可构建的”。

简单的解决方案当然是复制作业。但我真的想避免这种情况。

有人对此有实际的解决方案吗?

4

2 回答 2

2

我建议看看Multijob Plugin。有了它,您可以设置控制作业并为相关作业设置参数。您还可以定义该作业是否应继续执行失败的相关作业。

于 2012-10-20T13:47:23.110 回答
0

找到了 !它实际上是詹金斯的一部分。这是一个“多配置项目”。这种工作定义了一个或多个维度(轴),每个维度(轴)都有其不同的值。为每个不同的值运行一个单独的作业。

使用轴的名称创建一个环境变量。该变量的值对于每个构建都是不同的。

在 Jenkins 中,构建按轴的值进行分组。

瞧!用于不同执行的单个作业配置。

而且似乎可以定义不止一个轴。所以我认为所有轴的每个不同组合都会有一个构建!

于 2012-10-26T11:45:35.963 回答