TeamCity On-Premises 2024.03 Help

调查并静音构建失败

当构建因某些问题或测试失败而无法进行时,TeamCity允许您将构建失败的调查任务分配给某个用户,或者静默该失败,使其不影响构建状态。

您可以指定对整个失败的构建配置进行调查,或者调查/静音单一的 构建问题和失败的测试Investigate/Mute(调查/静音)功能对构建问题和失败的测试的处理方式完全相同。

所需权限

为了能够在特定项目中管理和查看调查/静音,用户必须在此项目中获得以下权限:

  • "在项目中静音/取消静音问题":用于管理静音

  • "分配/取消分配调查":用于管理调查

  • "查看项目及所有父项目":用于查看调查/静音

这些权限默认授予项目管理员和系统管理员。

分配失败的构建配置的调查

为了指派失败的构建配置的调查:

  1. 导航至 Overview(概览)选项卡中的 构建配置首页 页面(或者 Overview 选项卡中的 构建结果 页面),然后点击 Assign investigation(分配调查)。

    分配对失败构建的调查
  2. Investigated by 下拉菜单中选择一个 TeamCity 用户。

    被分配调查一个失败的构建
  3. 选择条件以解决这项调查:

    • When build configuration is successful (当构建配置成功时)

    • 或者,Manually (手动);对于带有不稳定测试的构建配置,推荐使用这种模式,因为"成功"的构建状态并不直接指示问题已经得到解决。
      被指派调查的用户可以稍后在这个窗口中标记问题为已修复

  4. 保存调查。

要为同一项目中的其他失败的构建配置分配类似的调查,点击 More(更多)并在列表中选择配置。

在项目中分配更多的调查

分配构建问题和失败测试的调查任务

为了指派对特定构建问题的调查:

  1. 导航至 Overview(概览)选项卡,此页处于 Build Results (构建结果)页面(或者 Current Problems (当前问题)选项卡,此页处于 Project Home(项目主页)),点击构建问题旁边的箭头,然后点击 Investigate/Mute(调查/静音)。

    调查 / 静音构建问题

    Investigate/Mute对话框已打开。

  2. Investigated by 下拉菜单中选择一个 TeamCity 用户。

    被分配调查一个失败的构建

  3. 选择条件以解决这项调查:

    • Automatically when fixed(修复后自动解决)(阅读更多

    • 或者,Manually(手动)

    被分配调查任务的用户,稍后可以在此窗口中将问题标记为已修复

  4. 保存调查。

您可以在 Overview(概览)或 Tests (测试)选项卡中的Build Results (构建结果)里,类似地分配一个失败测试的调查。

静音构建问题

要静音特定的构建问题:

  1. 导航至 Overview(概览)选项卡,位于 Build Results(构建结果)页面(或 Current Problems (当前问题)选项卡,位于 Project Home(项目主页)),点击构建问题旁的箭头,然后点击 Investigate/Mute(调查/静音)。
    将打开 调查/静音 对话框。

  2. 选择在哪里静音问题:

    • 整个项目,即在当前项目及其子项目的所有配置中静音问题。

    • 选定的构建配置,它允许您从同一个项目中选择特定的构建配置。

  3. 选择条件以取消静音问题:

    • Automatically when fixed(修复后自动解决)(阅读更多

    • 在特定日期

    • 或者,Manually(手动)

  4. 点击 Save

静音测试

您可以在 Overview(概览)或 Tests (测试)选项卡,或者在 Build Results(构建结果)中,像静音构建问题一样,对失败的测试或一次对几个测试进行静音处理。

调查 / 静音构建问题

静音仅会影响到失败在 “At least one test failed”("至少有一个测试失败")构建失败条件的构建,但不会影响到其他条件:如果您的构建适用于任何其他失败条件(例如,非零退出代码),即使失败的测试被静音了,构建仍将失败。

当某些测试由于已知原因失败,但当前无法修复它们时,此功能会非常有用。 例如,负责的开发者缺席,或者您正在等待系统管理员修复环境。 如果测试故意失败,该功能也可以被使用:例如,如果所需功能尚未准备就绪。
在所有这些情况下,您可以静音这样的失败,避免对其他开发者造成不必要的干扰。

当一个测试被静音后,它还是会在将来的构建中 继续运行,但其失败并不会影响构建的状态。

当存在失败但被静音的测试时,您的构建脚本可能需要进行调整以使构建成功。 确保构建不会因其他构建失败条件(例如,"如果构建过程退出代码不为零则失败")而失败,以防遇到的唯一错误是测试失败。 请查看相关问题 TW-16784 以获取更多详情。

更改项目调查范围或静音

当用户分配调查或静音问题时,TeamCity 会建议需要进行调查或静音的范围。 默认情况下,它建议在当前项目中应用这个操作,用户通常会确认这个默认范围。 然而,同样的问题往往不仅出现在单一项目中,而且可能出现在多个相邻的子项目中,这些子项目都是同一父项目的子项目。 在这种情况下,有必要在整个父项目的范围内调查或静音此问题。
自版本 2021.12 以来,项目管理员可以更改每个项目首选的调查/静音范围的值。 在父项目的设置中设置 teamcity.internal.preferredInvestigationProject 配置参数 将使该项目成为其所有子项目的 Investigate/Mute 对话框中的默认范围。 该值应包含父项目 ID。 这个属性只更改默认提议的选项 —— 用户仍然可以在对话框中调整范围。

将问题标记为已修复

被分配调查的用户可以在任何与此问题相对应的 Investigate 用户界面对话框中将调查过的问题标记为已修复。
在所有 TeamCity 页面上,问题都会被标记为 checkmark.png。 这使得可以在用户界面中识别出一个可能已经修复的问题,但是如果在下一次构建运行中问题仍然存在,还可以继续调查。 如果调查的作者已打开相应的 通知,他们会收到有关修复的通知。
如果问题未再次出现并且此调查的解决条件为 "Automatically when fixed" (修复后自动解决),则 TeamCity 将在标记为已修复的调查之后的下一次构建运行中移除调查。

查看调查和静音功能

您可以在 Project Home 页面上查找所有的调查和项目的静音:

  • Investigations 标签:查看项目中分配的所有调查

  • 静音问题标签:查看项目中所有静音问题和测试

调查和静音问题选项卡

在这里,您可以取消静音问题和测试,并将调查重新分配给另一个用户或将其标记为已修复

查看我的调查

如果有一项或多项调查分配给您,调查计数器将会出现在 TeamCity 顶部面板中您的名字旁边:

新的调查

点击它以打开 My Investigations 页面,在该页面上您可以看到分配给您的不同项目中的所有调查。 您可以直接在此页面上管理问题:标记为已修复,重新分配,静音,或放弃调查。

对于每一个失败的测试,您可以立即看到:

  • 所有测试当前失败的构建配置

  • 当前堆栈跟踪和有关测试当前失败的构建的信息

  • 关于测试的首次失败的信息,包括堆栈跟踪和构建

如果您启用了 "高亮显示我的更改和调查" 选项, 在用户界面中分配给您的调查也会被突出显示。该选项位于您的 个人资料设置 中。

查看调查历史

自TeamCity 2020.1起,您可以查看应用于每项调查的操作历史。 这对于大型团队和项目最有帮助,因为并不容易确定谁以及何时更改或解决了调查。

要查看调查的历史记录,请打开任何可以查看此 调查 的 UI 页面,并在其上下文菜单中点击 显示调查历史

关于自动修复调查和静音问题的注释

如果在 Investigation(调查)或 Mute(静音)选项中选择了 "Automatically when fixed" (修复后自动解决)选项,TeamCity 将分析不同分支中每个失败的状态以更智能地解决调查或静音:

  • 如果故障发生在默认分支和另一个活动分支中,并且在这些分支中任意一个中已经为这个故障分配了调查(或静音),那么只要在默认分支中修复了此故障,它就会立即修复。

  • 如果故障发生在默认分支以外的任何活动分支中,只有当它在所有发生故障的活动分支中都得到修复时,指定的调查(或静音)才会修复。

最后修改日期: 16日 7月 2024年