TeamCity 故障情况将分支构建与某些过时的分支进行比较

标签 teamcity code-coverage

我们设置了 TeamCity 的“失败条件”,如果代码覆盖率指标不好,则构建失败。确切的条件是,如果代码覆盖率指标下降了几个百分点,则构建失败。

有时我们会构建一个第一次构建的分支。这些基本上是发布分支。我们只构建一次。

问题是 TeamCity 在构建新分支时失败。它说,代码覆盖率很差。

在日志中,我看到 TeamCity 找不到我的分支以前的版本。事实上,它需要一些以前的构建来比较代码覆盖率,但无法找到它,因为分支是新的。因此它使用一些“锚定”分支进行比较

“Anchor”分支是一些旧的过时分支,具有更大的代码覆盖率。因此,对条件的评价是正确的。

问题是,如果我正在构建某个分支的第一个版本,我期望出现以下行为之一:

  1. 禁用需要先前构建但缺失的代码覆盖率指标

  2. 使用一些有意义的“ anchor ”构建进行比较,而不是一些我不清楚的方式选择的过时构建。

如何修复它?

最佳答案

TeamCity 论坛上的人们帮助我找到了答案。

事实证明,TeamCity 正在尝试查找我们想要构建的分支的一些先前版本,以将指标与当前版本进行比较。如果找不到以前的构建,它将从默认分支中获取一些构建。。在我们的例子中,它是另一个版本的某个分支,我们很惊讶地看到指标的比较。

新分支的解决方案是要么将默认分支设为一些指标为零的测试分支,以便新构建始终具有更好的指标,要么在每次构建新分支时关闭指标。

关于TeamCity 故障情况将分支构建与某些过时的分支进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35769100/

相关文章:

android - Jacoco 覆盖不适用于最新的 android 插件

c# - 如何发现哪个测试单元检查了哪些代码行?

github - TeamCity 无法 checkout github 存储库

continuous-integration - 如何在 TeamCity 8 上设置默认 Nuget 版本

java - Jacoco 代码覆盖率随着迁移到 Java 11 而下降

python - Coverage.py Python 模块 - 运行脚本时导入错误

wix - TeamCity 的 AssemblyInfo 修补程序的数字格式

asp.net - 如何将文件复制到主目录并部署

teamcity - 在服务器日志中找不到 TeamCity 的维护 token

xcode - 如何过滤 llvm-cov 代码覆盖率报告中的文件?