运行并行作业并获取聚合结果

时间:2016-03-03 21:09:03

标签: jenkins-workflow

我有一个关于工作流程插件的快速问题。我试图看看该插件是否能够满足我的用例:

  • 我们有一个jenkins工作,将构建我们的应用程序
  • 我们希望剥离一套测试作业,这些作业将对新构建的应用程序(单元,集成等)执行各种测试。这些将需要并行运行,我们希望出于性能原因在多个jenkins节点上运行它们
  • 我们将从步骤2中的所有测试流程中获取汇总输出,并能够决定是否应该部署(一切都已通过)

我很想知道我是否能够在插件中完成此操作,如果你有任何提示/指示,我很感兴趣。

谢谢!

1 个答案:

答案 0 :(得分:1)

您当然可以在node分支内运行parallel。如果一个分支失败,整个parallel步骤将失败。如果您希望构建成功,但根据测试结果表现不同,您可以通过各种方式将它们直接捕获为Groovy变量。

如果您使用JUnitArchiver,目前它没有提供直接将测试结果公开给Pipeline脚本(JENKINS-26276)的简单方法,不过如果您只是想知道是否有一些失败或没有,你可以检查currentBuild.status

如果你有JUnit格式的测试结果,并希望自动在各个节点之间拆分它们(特别有用的话,如果你有大量的机器,并且手动划分测试是不可维护的) ,请参阅Parallel Test Executor插件splitTests步骤的this demo