Jenkins在一个作业中多次运行配置

时间:2016-06-23 10:48:11

标签: jenkins

我正在为Jenkins内部的网络应用程序运行UI测试。由于我不希望每次都运行所有测试,我正在寻找一种方法来为Jenkins中的一个作业提供多种配置。

测试全部由一个命令触发,该命令传递应该执行的测试用例的标记(准确地说是黄瓜方案标记)。标签字符串如下所示:

`--tags @payment, @login`

在此示例中,将运行付款和登录测试。

目前,我有一个参数化的自由式作业,每天运行几次测试。标记作为环境变量传递给执行shell构建步骤。

我的目标是在不同时间触发多个配置(=不同的标签字符串)。例如,每10分钟触发一次登录测试,每天一次付款,每周只触发一次some_other_testcase。

可以在Jenkins的一个工作中设置这样的东西吗?或者更容易创建多个作业,一对一的标签组合?

我目前正在尝试使用多配置项目来设置这个,但我不确定这应该如何工作,或者不确定这是否可行。

2 个答案:

答案 0 :(得分:2)

  

我的目标是在不同时间触发多个配置(=不同的标签字符串)。例如,每10分钟触发一次登录测试,每天一次付款,每周只触发一次some_other_testcase。

为每个触发器创建一个自己的项目,该项目调用另一个参数化项目并传递应该执行测试用例的信息。

缺点是你将测试结果混合在一个工作中。

的另一种方式是创建作业并使用不同的配置和触发器复制它。

如果要使用多配置项目,根据时间触发不同类型的测试用例会很复杂。

答案 1 :(得分:1)

Jenkins Multi-configuration (Matrix) project旨在同时执行从其轴导出的cartesian product版本。它并不意味着在不同的时间运行具有不同配置的构建。

所以,我会做以下事情:

  • 创建触发器(自由式)项目:
      每隔10分钟
    • 每天一次
    • 每周一次
  • 使用☑创建实际构建项目此构建已参数化

触发器项目使用构建后操作在其他项目上触发参数化构建以触发实际构建,并将相应的标记作为参数在指定的时间间隔内。