文档

当任务停滞或执行失败时

查看故障信息,选择重试、返工、暂停或取消。

任务会失败。大多数故障属于配置或规格说明问题,并非什么神秘原因,且通常可归为少数几类。

首先,查看任务停止的位置。

运行日志会显示哪个阶段出错。这一信息比任何其他内容都能更精准地定位故障原因:

出错的阶段为几乎总是意味着
在编写任何代码之前针对干净工作区的构建或安装命令有误。
在进行修改的过程中属于真正的复杂工作,或是缺少依赖项。
运行测试时测试命令有误,或是测试套件需要依赖特定服务。
验证环节属于阻塞性关卡;请查看相关发现结果。
审核无法自动修复的发现结果

在编写修改内容之前的故障属于配置问题。请参阅构建与测试配置。

中断位置
正在运行测试。测试套件所需的数据库在干净的工作空间中并不存在。
修改内容
项目的构建与测试配置。若不做修改直接重试,任务仍会同样失败。
示例性故障。开发人员在测试运行阶段停止操作,尚未进入验证环节,输出结果显示缺少数据库而非代码变更导致的问题。

任务并未卡住,只是处于排队状态。

一个处于PENDING状态的任务并未卡住,它正在等待空闲的代理插槽。请检查容量这是最常见的误报情况,需优先排查此点。

它正在向您征求决策。

NEEDS_HUMAN_REVIEW意味着该任务遇到了只有您才能做出的决策。这并非故障。回答相关问题后,任务便会从暂停处继续运行。

请准确作答。模糊的回答会导致再次猜测,进而再次暂停。

运行时间远超预期

通常有两个原因:

测试套件运行缓慢或发生挂起。Coroid负责运行您的测试套件;若其在干净工作区中挂起,任务便会等待。可通过在全新克隆的代码库上运行该测试套件来复现此问题。

规格说明过于宽泛,导致代理不断发现更多待完成的工作。明显的迹象是文件列表不断增长。此时应取消任务,通过明确标注排除范围来缩小范围,随后重新运行。请参阅规格说明。

选择处理方式

按成本从低到高排列:

  • 回答——适用于NEEDS_HUMAN_REVIEW。成本最低,且能保留所有上下文信息。
  • 返工——工作成果符合要求但不够完整。任务会退回给开发代理,同时保留您的发现结果及其上下文信息。
  • 暂停——您需要先确认某些事项。此举会释放插槽,且任务可恢复运行。
  • 重试——仅适用于真正的瞬时性故障。若因配置或范围问题导致故障,重试只会再次重现相同问题。
  • 取消并重新指定规格说明——说明采用的方法或范围有误。成本最高,但往往是最正确的选择。
  1. 答复

    用于解答疑问。可保留全部上下文信息。

  2. 重新加工

    内容正确但不完整。会附带您的反馈意见退回处理。

  3. 暂停

    您需要核实某些内容。对应资源会被释放。

  4. 重试

    仅适用于真正的瞬时性故障。

  5. 取消并重新定义需求规格说明

    说明原方案或范围有误。

成本最低成本最高
选择成本最低且能解决问题的方案。仅当故障属瞬时性问题时,重复执行无改动的任务才有帮助。

跨多个任务重复的故障

无关任务在同一阶段出现相同故障,属于项目配置问题,而非任务本身的问题。请勿反复运行任务,应先修复配置。

任务完成后版本发布被阻塞

已完成的任务仅表示该工作已进入评审阶段,并不涉及选定的版本发布提交或部署信息。在版本发布页面中,选择对应的环境并查看门禁阻塞项。完成检查清单或质量图谱运行结束后,请重新评估相关情况。一旦 SHA、范围或策略发生变化,原有的门禁规则和审批就会失效。如果部署正在运行中或其结果尚不确定,请在发起新的部署请求前先查看提供商的运行记录。