百积木文档
开发指南平台应用、模块与 Bundle 开发

Bundle 失败重试与回滚

检查失败原因,通过普通安装或升级按当前资源重新执行,并验证最终状态。

Bundle 安装或升级失败后,部分资源可能已经生效。修正失败原因后,重新提交普通安装或升级即可。平台读取资源 Owner 的当前实际状态,计算需要安装、更新、保留或移除的资源,并创建新操作;原失败记录保留供查询。

同目标重试与选择修复版本使用同一流程,不需要独立恢复预览或恢复命令。当前操作仍在执行时,先查询状态;重复提交同一在途目标不会创建并行安装。接口或类型合同错误应先修正责任方,单纯重复请求不会解决确定性错误。

Manager

工作区管理员进入 Bundle 管理,在失败安装上点击 重新安装,按原目标版本重新执行。需要修复版本时,使用普通版本安装入口选择发布方提供的精确版本,或通过升级入口选择工作区可用的新版本。

执行前核对来源、目标版本和需要确认的跨 Bundle 方法授权。执行后查看资源账本及最终安装状态。平台只修改所选 Bundle;依赖缺失或没有有效活动版本时先独立处理依赖,已安装依赖超出声明范围只产生兼容性告警。

卸载后重新安装可以选择新的默认执行用户。普通重试继承当前安装默认用户,已有资源的执行授权由资源 Owner 管理。

CLI 与开发 Agent

先查询当前安装和原始错误:

baijimu bundle get <bundle> --workspace-id <workspaceId> --json

首次安装失败,重新提交精确目标:

baijimu bundle install <bundle> --workspace-id <workspaceId> \
  --version-id <exactBundleVersionId> --json

已有活动版本的升级失败,重新提交普通升级:

baijimu bundle upgrade <bundle> --workspace-id <workspaceId> \
  --version-id <exactBundleVersionId> --wait --json

目标既可以是原失败目标,也可以是已发布的修复版本。需要直接分发或跨 Bundle 方法授权时,先核对安装预览及当前 CLI 帮助,再在用户授权范围内使用相应确认参数。--wait 超时不取消后台操作,使用 bundle get 查询进度。

recover 和 recovery-preview 已移除;使用普通安装、升级入口。不修改旧 operationId,不清空执行账,也不通过修改数据库伪造安装成功。

回滚

回滚是撤销失败变更、返回原成功基线的独立操作,不能用来任意选择历史版本。平台启用回滚后,可在 Manager 中选择 回滚,或执行:

baijimu bundle rollback-preview <bundle> --workspace-id <workspaceId> --json > rollback-preview.json
baijimu bundle rollback --workspace-id <workspaceId> \
  --request @rollback-preview.json --confirm --wait

canRollback=false 表示存在阻塞。首次安装回滚可能移除已经创建的资源,需要核对影响;插件补偿、资源结果未知等问题仍按回滚规则处理。

成功判定

普通安装、升级必须验证本次操作成功、活动操作清空、目标版本提交且安装为 ACTIVE,随后验证实际业务能力。首次安装的回滚最终为 UNINSTALLED。请求被接受或部分资源成功都不能代替最终验证。

本页内容