收集并汇总TeamCity 10

时间:2017-10-27 09:53:04

标签: gradle teamcity jacoco monorepo

我有以下设置:

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

目前发生的事情:

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

我想实现以下目标:

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我是这样做的:

  • 从任何构建步骤中删除所有jacoco选项
  • 将gradle jacoco插件添加到要为其生成coverage的每个项目
  • 在构建的最后添加一个命令行构建步骤,并用类似下面的语句
  • 填充它

请注意,我在项目中使用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']"