0

我有以下设置:

我有一个 monorepo,里面有多个独立的基于 Gradle 的构建。我为 repo 中的每个项目添加了一个构建步骤,使用每个子目录作为该构建的工作目录。我使用 TC 的 jacoco 增强器生成每个项目的 junit4 测试运行报告。

目前发生的情况:

仅保留最后一个构建步骤的报告,并使其成为构建概述中显示的报告。我可以在日志中看到,所有 jacoco 报告都按预期生成。

我想实现以下目标:

我希望汇总所有报告并将其视为构建的整体覆盖范围。

非常感谢任何帮助!

4

1 回答 1

0

我自己找到了解决方案。这是我的做法:

  • 从任何构建步骤中删除所有 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']"
于 2017-10-27T12:29:14.133 回答