嵌入式作业执行而不是触发执行

时间:2012-10-18 12:23:12

标签: java jenkins jenkins-plugins

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

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

我正在寻找一种方法来保持单一的工作定义,无论如何。如果定义是重复的,则存在危险,迟早会发生分歧。测试将成为数据库品牌特定的。

到目前为止我尝试过:

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

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

有人为此提供了切实可行的解决方案吗?

2 个答案:

答案 0 :(得分:2)

我建议您查看Multijob Plugin。通过它,您可以设置控制作业并为从属作业设置参数。您还可以定义作业是否应该在失败的依赖作业上继续。

答案 1 :(得分:0)

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

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

在Jenkins中,构建按轴的每个值分组。

Et Voila!针对不同执行的单个作业配置。

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