gpt4 book ai didi

jenkins - 解决方法 : Aggregate downstream test results

转载 作者:行者123 更新时间:2023-12-02 13:01:29 27 4
gpt4 key购买 nike

据我所知,“聚合下游测试结果”功能并没有按预期工作(并且很难找到有用的文档)。我想实现非常相似的功能:

作业Build并行触发作业T1T2(其中T1执行FindBugs,T2 PMD)。

场景 1:一旦T1T2完成(我可以使用“加入”插件来实现),我想收集工件(T1/findbugs.xml 和 T2/pmd.xml)。然后对这些进行分析并生成很好的统计数据。

场景2(我更喜欢这个):与场景 1 类似,但分析是作为 T1T2 的一部分完成的(并行!)。一旦T1T2完成,分析结果就会合并成很好的统计数据。

我的问题:对于场景 1,我不知道如何引用下游项目 T1T2。我可以使用上次成功的构建,但考虑到许多并行作业时,这似乎很奇怪。

对于场景 2,我不知道如何导入 FindBugs/PMD/Checkstyle/SLOCcount/... 插件所需的数据,以便相应的图表(也?)出现在 T1 之外 em>/*T2*.

谢谢,卡斯滕

最佳答案

这是一个稍微简单的场景的概述,但我认为您可以轻松地将其推广到多个下游作业的情况。诀窍是在下游作业中使用“标记”参数。

P为父作业,D为下游作业。

  1. P 的实例(构建)通过 Parameterized Trigger Plugin 调用 D通过构建步骤(作为构建后步骤)并等待D完成。与其他参数一起,PD 传递一个参数 - 让我们称之为 PARENT_ID - 基于 P 的构建的BUILD_ID
  2. D 执行测试并将其归档为工件(以及 jUnit 报告 - 如果适用)。
  3. P 然后执行外部 Python(或内部 Groovy)脚本,该脚本通过 PARENT_ID 查找 D 的适当构建(您迭代构建) D 并检查 PARENT_ID 参数的值)。然后,脚本将工件从 D 复制到 P,然后 P 发布它们。

如果使用 Python(这就是我所做的)- 利用 Python JenkinsAPI wrapper 。如果使用 Groovy - 使用 Groovy Plugin并将您的脚本作为系统脚本运行。然后您可以通过其 Java API 访问 Jenkins .

关于jenkins - 解决方法 : Aggregate downstream test results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com