记录(08-08-production-deployment-execution): 追溯部署输入来源
这个提交包含在:
@@ -71,3 +71,10 @@
|
||||
- 生产输入存在性检查:`EXPECTED_PRODUCTION_ORIGIN`、`EXPECTED_PRODUCTION_DB_NAME`、`EXPECTED_PENDING_MIGRATIONS`、`DEPLOY_SERVER`、`DEPLOY_REFRESH_SERVER` 五个进程输入均未注入;受控 contract 路径按设计应在连接目标后由 systemd unit 读取,未把它们误当作本地输入缺失。
|
||||
- 生产动作:未执行 SSH、target gate、`prisma migrate status`、`migrate deploy`、数据库写入、refresh、公网 smoke 或真机验证;AC1 的生产体检及 AC2–AC7 保持未验收并标记 PAUSED。
|
||||
- 失败分流:停止在生产输入门禁,未出现“门禁失败但继续推进”。后续必须在同一受控执行环境注入输入后,从 target gate 重新开始。
|
||||
|
||||
## Input Traceback Evidence (2026-08-08)
|
||||
|
||||
- 当前 OPS7 运维交接 Runbook 仍提供公网 origin 作为只读检查基准;它没有提供生产数据库名或 SSH 身份。
|
||||
- 仓库外的三份验收 env 文件仍存在且为受控用户、`0600` 权限;它们只包含 live smoke、SMTP 或一次性账号键,不包含生产部署身份/数据库输入,未被本 task 读取或 source。
|
||||
- Git 历史没有 `deploy/trialrun/.env`、`deploy.env` 或上述验收 env 文件的删除记录;`.gitignore` 从始终将 `.env` 排除在版本库之外。
|
||||
- shell 历史没有五个部署变量的字面赋值记录。结论:部署输入不是被本 task 删除,而是按运维合同设计为每次执行时临时注入。
|
||||
|
||||
在新工单中引用
屏蔽一个用户