Files
.pouch/skills/builder/references/registry.md
T
2026-08-25 15:26:29 +08:00

1.7 KiB

镜像仓库规则

执行发布前,从用户输入和当前项目配置中确定以下信息:

字段 要求
Registry 必须显式确定,例如 registry.example.com
Repository 必须包含项目约定的 namespace;缺省取 git 仓库名
Tag 必须显式确定;优先使用版本号或 Git SHA
Platform 必须显式确定,例如 linux/amd64linux/amd64,linux/arm64
Dockerfile 默认 Dockerfile,不存在或项目另有约定时明确指定
Context 默认当前项目根目录

信息来源优先级:

  1. 用户本次请求中明确给出的值。
  2. 当前项目的 .envAGENTS.md、发布文档。
  3. Makefile、CI 配置或现有构建脚本中一致且无歧义的配置。
  4. 询问用户。

不要从其他项目、shell history 或无关的本地配置中猜测发布目标。

认证

使用 Docker 当前配置的 credential helper 或已有登录状态。可用不泄露凭据的只读操作 检查目标是否可访问。认证缺失或过期时,停止并让用户自行完成登录。

不要读取、打印或复制以下内容:

  • registry 密码或访问令牌
  • ~/.docker/config.json 中的认证字段
  • CI secret 的值
  • 包含凭据的环境变量值

Tag 策略

  • 未显式给出 --tag / IMAGE_TAG 时,使用契约「版本号」渲染出的 tag (正式 1.4.2,测试 1.4.2-feat-login.7.gabc1234),不要退回 git describe,不要询问后另选一套。
  • 正式产物 tag 与 Git tag vX.Y.Z 对应,但镜像 tag 不含 v;默认视为不可变。
  • lateststable、裸分支名等浮动 tag 只有在用户明确要求时才额外发布, 不能代替上面那条唯一身份。