【问题标题】:Aggregating test results in Jenkins with Parametrized Jobs使用参数化作业在 Jenkins 中聚合测试结果
【发布时间】:2016-04-29 03:00:08
【问题描述】:

我知道这篇文章类似于: Aggregating results of downstream is no test in Jenkins

还有: Aggregating results of downstream parameterised jobs in Jenkins

尽管如此,我无法弄清楚我的情况,如何使它工作。我目前正在使用 Jenkins 1.655。

我有工作 A、B、C - A 是上游工作。我想要做的是让 A 调用 B 和 B 调用 C。都需要 block 并等待下一个完成。如果一个失败,所有的失败。 B 和 C 生成单元测试报告。所以我想在 A 中汇总这些报告,然后在 A 中发布结果。所以,这是当前的作业设置:

工作 A:

构建步骤

  1. 执行外壳:echo $(date) > aggregate
  2. 触发参数化构建作业:作业 B

发布构建步骤

  1. 聚合下游测试结果
  2. 记录文件指纹以跟踪使用情况:将文件指纹设置为aggregate
  3. 发布 JUnit 测试结果报告(来自 B 和 C 的报告文件)

工作 B:

构建步骤

  1. 从另一个项目复制工件:从上游作业 aggregate 文件复制
  2. 运行测试以生成单元测试报告
  3. 触发参数化构建作业:作业 C

它最终在这里失败了,因为aggregate 只存档在 发布作业 A 的构建步骤。如何在构建步骤中归档工件?

发布构建步骤

  1. 聚合下游测试结果(生成单元test.xml)
  2. 记录文件指纹以跟踪使用情况:将文件指纹设置为aggregate

为简单起见,我不会在此处发布作业 C,但它与 B 所做的差不多。

所以,总结起来,我希望有相互依赖并使用参数化插件的互连作业,上游作业必须聚合所有下游的测试结果。

任何帮助表示赞赏,谢谢!

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:
    1. 如果您对运行作业的位置没有限制,您始终可以将其指定为在同一工作区\机器上运行 - 这将解决您的所有问题。
    2. 如果由于某种原因你不能在同一个工作区运行它,而不是使用复制工件插件,你可以使用 Jenkins 中的链接到 WS(猜你正在使用Parameterized Trigger Plugin)所以它会是使用定义的触发作业从 A 作业中轻松获取“聚合”文件:TRIGGERED_BUILD_NUMBER_="Last build numbertriggered" from A. 这也将帮助您跟踪您触发的作业 B 和 C 以获取工件从那里。

    希望对您有所帮助!

    【讨论】:

    • 感谢您的帮助。因此,如果我理解正确,您是说将结果存档在 B 和 C 中。然后在 A 的 Post Build Steps 中,我必须对 URL 执行 wget 并检索它。这是正确的吗?谢谢你,会试试这个@Dvir669
    • 我现在正在做的是将 B 和 C 的结果直接复制到 A 的工作区,作为 B 和 C 的后期构建步骤。然后我在 A 中发布结果。这种方法有效,但阻止了我从汇总结果 - 这是我想要的。
    • 抱歉,回复晚了 - 我在国外 :) 我的意思是你可以从工作的 WORKSPACE 中获取实际文件(例如 - J_MASTER:PORT/job/Job_Name/ws/report.cvs),然后直接下载到 A 而无需需要通过归档将其移至主服务器。当您在构建部分(而不是后期构建)中拥有所有报告时,您可以在 A 中完全加载测试报告 - 归档所有内容并发布
    • 嘿@Dvir669 感谢您回复我。这种方法的问题是我无法汇总下游报告的结果,对吗?这正是我现在正在做的,我听从了你的建议。但不幸的是,聚合不起作用。
    • 好的,所以这里可能存在一些误解(英语不是我的第一语言)。我知道您想发布 A、B 和 C 的所有测试结果 -> 汇总报告是集中所有工作的测试报告并在 A 中发布所有结果。如果这正是您现在正在做的,请发布所有测试A中所有工作的报告那么我错过了什么?很抱歉不理解,但您似乎已经做了您需要的 :) 当您说聚合不起作用时 - 您正在使用插件吗?你能详细说明什么不起作用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 2013-05-31
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多