版本发布设置与项目的其他设置一同存放。打开项目后,选择设置,然后展开版本发布。共有三个页面,每个页面对应一个问题。
- 运行环境
- 发布将流向哪些环境? 添加目标环境并按顺序排定。
- 审批规则
- 哪些条件必须首先满足? 各环境对应的审批流程、角色权限、检查清单及热修复规则。
- 部署流水线
- 由谁执行部署?Coroid 如何接收反馈? 您的流水线或 Coroid 启动部署;通过报告令牌,CI/CD 可确认部署结果。
只有所有者和管理员才能修改版本发布设置,其他人仅可查看。需先关联代码仓库,因为每次版本发布都指向仓库中的某个提交。
环境
版本发布会流向何处?顺序又是怎样的?
每个项目初始包含生产环境。如需添加其他部署目标,比如预发布环境或QA环境,可点击添加环境。为每个环境命名。Coroid会根据名称生成对应的键,例如staging。当CI/CD上报部署信息时,会使用该键,因此一旦流水线开始使用该键,就需保持其稳定性。
通过紧随其后来设定顺序。若预发布环境没有前置环境,而生产环境紧随预发布环境之后,则部署路径为预发布 › 生产。版本发布页面会按此顺序展示发布流程,审批规则也可要求前序环境部署成功后才能继续。
审批规则
版本发布在此部署前需满足哪些条件?
首先选择上方的环境。规则按环境单独设定,因此预发布环境的要求可相对宽松,生产环境则需更严格。
- 所需审批数:需要不同人员审批的数量。设为0时,只要检查通过即可直接部署。
- 可审批人员:具备审批权限的组织角色。
- 申请人与审批人分离:发起部署的人员无法同时审批,编辑版本发布说明的人员也无法审批。
- 质量检查通过:始终开启。项目的质量图表会针对该提交触发
release_validation,需在项目的质量设置中发布该图表。 - 先前环境已部署:当前环境部署前,必须先在其前置环境中完成部署。
- 版本发布说明已审批:当前的说明需经审批,后续任何编辑也需重新审批。
- 检查清单:在版本发布页面上由相关人员确认的人工步骤,比如“数据库迁移已审核”。可标记某项为必填或可选。必填项允许设置临时例外。所有者或管理员需记录例外原因及最长24小时的有效期,该例外仅适用于特定的提交和环境。
- 热修复规则:针对紧急修复的宽松规则:审批数量要求、是否仍需满足先前环境及说明审批要求。质量检查和必填检查清单项始终生效,且只有所有者和管理员能审批热修复。
点击发布规则保存设置。发布操作会生成规则的新版本。旧版本下的审批记录会失效,因此正在进行的版本发布会重新请求审批。没有已发布规则的环境无法通过相关检查,页面也会提示此事。
部署流水线
谁来启动部署?Coroid又如何获知部署结果?
首先选择上方的环境,然后指定部署的启动方式:
- 我的流水线自行部署:保留现有流程。当CI/CD上报部署信息,或由所有者、管理员在版本发布页面记录外部部署时,Coroid会记录相关部署情况。
- Coroid启动GitHub Actions工作流或Coroid启动GitLab CI/CD流水线:当项目的代码仓库位于对应服务商时才会显示此项。需输入指向版本发布提交的分支或标签、GitHub的工作流文件,以及负责部署的任务名称。Coroid会在启动运行前校验引用,在接受成功状态前也会校验指定任务。
在部署报告下为对应环境创建报告令牌,并将其作为机密信息存储在CI/CD中。Coroid仅显示一次令牌,并仅保存其哈希值。替换令牌会立即使旧令牌失效。同一页面还会显示流水线所需的端点、项目ID及环境键,以及报告是否已接收。部署事件与CI设置中包含了事件格式及示例。
在组织间迁移设置
设置导出和导入功能会携带环境、其顺序、流水线配置及已发布的规则,包括热修复规则。但报告令牌不会被导出,导入后需重新创建。