从TeamCity 10中的多个Gradle构建步骤收集和聚合jacoco结果
我有以下设置:
我有一个monorepo,里面有多个独立的基于Gradle的版本。 我为repo中的每个项目添加了一个构建步骤,使用每个子目录作为该构建的工作目录。 我使用TC的jacoco增强器来生成每个项目的junit4测试运行报告。
目前发生了什么:
只保留最后一个构建步骤的报告,并将其作为构建概览中显示的那个。 我可以在日志中看到,所有的jacoco报告都按预期生成。
我想达到以下目的:
我希望将所有报告汇总并视为构建的总体覆盖面。
任何帮助真的很感激!
我找到了自己的解决方案。 我是这样做的:
- 从任何构建步骤中删除所有jacoco选项
- 将gradle jacoco插件添加到要为其生成范围的每个项目
- 在构建的最后添加一个命令行构建步骤,并用下面的语句填充它
请注意,我在我的项目中使用了Kotlin,请相应地调整您的源代码路径!
echo "##teamcity[jacocoReport dataPath='%teamcity.build.workingDir%/project1/build/jacoco/test.exec %teamcity.build.workingDir%/project2/build/jacoco/test.exec %teamcity.build.workingDir%/project3/build/jacoco/test.exec' includes='trivago.* sps.*' excludes='*Test *Fixture *Proto *Outer' sources='%teamcity.build.workingDir%/project1/src/main/kotlin %teamcity.build.workingDir%/project2/src/main/kotlin %teamcity.build.workingDir%/3/src/main/kotlin']"