我有以下设置:
我有一个 monorepo,里面有多个独立的基于 Gradle 的构建。我为 repo 中的每个项目添加了一个构建步骤,使用每个子目录作为该构建的工作目录。我使用 TC 的 jacoco 增强器生成每个项目的 junit4 测试运行报告。
目前发生的情况:
仅保留最后一个构建步骤的报告,并使其成为构建概述中显示的报告。我可以在日志中看到,所有 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']"