3文档

Studio · 管理项目

批准上线与回滚

批准上线是人做决策的关键处之一。代码合并后,CI 会把它部署到预发布环境;部署到生产这类受保护的环境,每一次都要审批人批准。出了问题,可以回滚到上一个版本。

部署环境怎样设置、谁是审批人,由管理员在 部署环境 里设定;CI 怎样接入,见 连接 CI。

上线的过程

以“供应商管理”项目为例,CI 接入后:

  1. 任务验收、PR 合并后,CI 把默认分支部署到预发布环境,任务上标出“预发布 ✓ b64c3bd”。
  2. 打一个版本标签,例如 v1.4.0,CI 构建这个版本,向生产环境部署。
  3. 生产环境受保护,这次部署变成一份部署申请,送到审批人的收件箱。
  4. 审批人批准后,部署到生产,任务上标出“生产 ✓ 1.4.0”。

项目概览的「发布」里,能看到每个环境上正在运行哪个版本、来自哪个提交、谁部署的、谁批准的,以及还在等审批的申请。

审批人做什么

部署申请出现在审批人收件箱的「待我决定」里,写明:

  • 要部署的应用和环境;
  • 要部署的版本,以及它来自的提交;
  • CI 构建它时用的标签或分支,以及 CI 的日志;
  • 谁发起的:某个人、某个 Agent,或者 CI。

打开申请,核对无误后,再输入一次应用 ID 确认,批准后立即部署。部署的就是申请里的那个版本,之后有了更新的版本,也不会顶替它。不同意时,拒绝这份申请。

谁都不能批准自己发起的申请;Agent 不能批准部署,也不能直接部署到受保护的环境。

部署前先备份

Studio 部署前不会自动备份应用的数据库。生产环境的数据库请自己定期备份,例如定时运行 pg_dump,或者使用数据库服务自带的备份。

回滚

部署后发现问题,在「发布 › 应用」里打开这个应用,在部署记录里选之前一次成功的部署,回滚到它的版本。受保护的环境上,回滚同样会变成一份部署申请,由审批人批准。

回滚后,Studio 会核对每个任务的改动是否还在线上:

  • 不再包含在这个版本里的任务,部署标记会撤回,例如“已随 1.3.0 撤回”;
  • 已经完成、但改动被撤回的任务,执行回滚的人会收到建议,可以把它们重新打开,也可以忽略。

任务的状态不会自动改变,要不要重新打开,由人决定。

已合并未发布

项目概览的「已合并未发布」,列出已经完成、但改动还没有部署到生产环境的任务。每完成一个这样的任务,项目负责人会收到通知。准备发布新版本时,从这里看这次会上线哪些改动。

NocoBase 3 文档 · 草稿 2026-10-24