据我所知,“聚合下游测试结果”功能并没有按预期工作(并且很难找到有用的文档)。我想实现非常相似的功能:
Job Build触发工作T1, T2并行(其中T1FindBugs,T2PMD)。
场景一:立刻T1 and T2已完成(我可以使用“加入”插件来实现)我想收集工件(T1/findbugs.xml 和T2/pmd.xml)。然后对这些进行分析并生成很好的统计数据。
场景2(我更喜欢这个):与场景 1 类似,但分析是作为T1 and T2(在平行下!)。立刻T1 and T2完成后,分析结果被合并成很好的统计数据。
我的问题:对于场景1我不知道如何引用下游项目T1 and T2。我可以使用上次成功的构建,但考虑到许多并行作业时,这似乎很奇怪。
对于场景 2,我不知道如何导入 FindBugs/PMD/Checkstyle/SLOCcount/... 插件所需的数据,以便相应的图表(也?)出现在T1/*T2*.
谢谢,
卡斯滕
这是一个稍微简单的场景的概述,但我认为您可以轻松地将其推广到多个下游作业的情况。诀窍是在下游作业中使用“标记”参数。
Let P是父母的工作并且D成为下游工作。
- 的实例(构建)P调用D via 参数化触发器插件 https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin通过构建步骤(not作为构建后步骤)并等待D就要完成了。与其他参数一起,P传递到D一个参数 - 我们称之为家长ID- 基于P的构建BUILD_ID.
-
D执行测试并将其归档为工件(以及 jUnit 报告 - 如果适用)。
-
P然后执行外部 Python(或内部 Groovy)脚本来查找适当的构建D via 家长ID(您迭代构建D并检查的值家长ID范围)。然后该脚本从以下位置复制工件D to P and P发布它们。
如果使用Python(这就是我所做的)-利用Python JenkinsAPI 包装器 http://pypi.python.org/pypi/jenkinsapi。如果使用 Groovy - 利用Groovy 插件 https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin并将您的脚本作为系统脚本运行。然后您可以通过其访问 JenkinsJava API http://javadoc.jenkins-ci.org/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)