【发布时间】:2015-04-26 15:10:40
【问题描述】:
我正在测试 Jenkins,看看它是否适合我们的构建和测试框架。我发现 Jenkins 及其可用的插件可以满足我们的大部分需求。除了我似乎无法找到有关如何执行一种特定类型任务的帮助。
我们正在为嵌入式设备创建应用程序。我们有 100 多个测试需要在这些设备上运行。如果我们在构建后在一台设备上运行所有测试,那么需要几个小时才能获得结果。但是,如果我们在 100 台设备上并行运行测试,那么我们可以在更短的时间内获得结果。
所有测试的起点都非常相似。使用设备的 IP 地址和用户名/密码调用测试脚本以运行测试。该脚本将对设备进行必要的测试,并报告每个测试项目的通过/失败。
我认为这样做的漫长/痛苦的方法是在 Jenkins 中编写 100 个作业,每个作业将直接是一个不同的测试脚本(具有上述参数)并使用可用插件并行运行这些脚本。然而,从长远来看,维持所有这些工作将非常困难。
因此,更好的方法是创建一个作业(我们称之为 child_tester),它可以接受以下参数:测试脚本名称、设备 IP 地址、用户名/密码等。然后使用另一个作业(我们称它为mother_tester)使用不同的IP 地址调用child_tester 作业100 次并并行运行它们。我需要某种方法来累积每次运行 child_tester 作业的所有测试结果,并将它们报告给 Mother_tester。
我的问题是在 Jenkins 中是否有插件或任何方法可以实现这一点?我查看了名为“Build Flow”、“Parallel Test Executor”和“Parameterized Trigger”的插件的信息。但是,它们似乎不符合我的需求。
【问题讨论】:
-
如果有人需要,我最近也有类似的问题。 the answer is here