当部署失败时
部署失败时,CoRoid 对环境中运行内容的认知绝不会发生改变。该部署步骤会展示失败的尝试记录以及对应的流水线运行链接。修复问题根源后,若检查项已过期则重新执行检查,随后再次发起部署。每次尝试都会留存于版本的历史记录中。
若某次尝试出现卡顿现象,请在重试前先查看 CI/CD 中的运行记录及上报令牌。通常缺少上报数据意味着令牌或事件格式存在问题,而非部署真的失败了。
当健康状态需予以关注时
部署成功后,CoRoid 会运行项目的金丝雀质量图——即包含deployment_canary触发器的质量图谱)。若金丝雀检测失败,则会显示需予以关注在健康步骤中。此次部署仍会被视为成功,因为对应提交确实已部署到环境中。请查看金丝雀的检测结果及流水线日志,随后要么通过新版本继续修复,要么回滚至之前的提交版本。
回滚至稳定的提交版本
- 2.4.0版本正在生产环境中运行已部署,但金丝雀检查未通过需处理
- 选择一个此前在此环境运行正常的发布版本
- 2.3.1生产环境中上一个正常的发布版本运行正常
在当前已部署的版本页面中,打开健康选项查看对应环境的恢复之前的稳定提交版本。该选项会列出此前在该环境部署且通过健康检查的早期版本。
- 您的流水线已与 CoRoid 实现对接。选择请求回滚,输入指向正常提交的分支或标签并说明原因。CoRoid 会校验该引用并针对先前版本启动新的运行流程。只有当流水线确认运行成功时,环境才会切换回原状态。
- 您的流水线可自主运行。回滚至该版本。若系统能反馈部署结果,CoRoid 会自动记录该结果;若无法反馈,请选择记录外部回滚用于正常的发布版本。CoRoid 会校验您要替换的发布版本是否仍为当前版本,且目标版本是否已通过健康检查。
原始部署记录与回滚记录均会保留在历史记录中。
批量发布多个项目
部分变更会涉及多个项目,例如新的 API 及其对应的应用程序。在版本列表中,选择协调发布流程,为其命名,并按发布顺序为每个项目挑选对应的版本。
发布流程是一种共享视图,并非单次部署。每个版本各自保留独立的提交记录、检查项、审批流程及流水线,且可从各自的页面分别发起部署。发布流程会显示部分已发布,此时部分项目尚未将版本部署到对应环境,因此剩余工作仍会清晰展示。