Deployment lifecycle
部署生命周期
Appaloft 把部署建模为 detect -> plan -> execute -> verify -> rollback。
这个生命周期用于解释用户看到的部署状态。它不是内部实现细节:用户需要知道当前卡在哪一步、这一步读取什么输入、失败后该怎么恢复。
Detect
Detect 读取 source 和配置线索,判断应用类型、构建方式、运行入口和网络暴露需求。
常见失败:
- source 不可读取。
- 仓库 ref 或 base directory 不存在。
- 应用类型无法判断,且用户没有提供 runtime profile。
Plan
Plan 把 source、runtime、health、network 配置转成可执行计划。计划需要解释 Appaloft 准备运行什么,而不是只显示一段 shell 命令。
计划中用户应该能看到构建、启动、健康检查和访问路由的摘要。
Execute
在目标服务器或执行环境中构建、上传、启动和路由应用。
执行阶段失败通常和网络、凭据、镜像拉取、构建命令、服务器资源或 runtime 后端有关。用户应先查看运行时日志和诊断摘要,而不是立即修改域名。
Verify
检查进程、健康策略、代理路由和访问地址。
Verify 失败不一定表示应用没有启动。它可能是健康检查路径、监听端口、代理路由或访问 URL 观测失败。
Rollback
失败后的恢复路径。Rollback 不能把失败隐藏成成功,用户需要知道当前状态能否重试。
如何读状态
用户应优先看最近失败阶段:
- detect 失败:修 source 或配置。
- plan 失败:修资源 profile。
- execute 失败:看服务器、凭据、构建和运行时日志。
- verify 失败:看 health、network、proxy 和 access route。
- rollback 失败:需要人工介入,先保存诊断摘要。
相关页面:Deployment sources、Logs and health、Safe recovery。
部署状态响应示例:
{ "id": "dep_123", "resourceId": "res_web", "status": "verifying", "currentPhase": "verify", "sourceSummary": { "kind": "git-repository", "gitRef": "main", "baseDirectory": "." }, "recoveryHint": "Inspect health summary before retrying."}