fix(infra): minio 镜像源从 Docker Hub 迁到 quay.io(上游已下架,本地/CI/生产均受影响)
E2E job 日志: pull access denied for minio/minio, repository does not exist 问题不在 tag 本身,而在**整个仓库已从 Docker Hub 移除**:MinIO 自 2025-10 起停止 发布容器镜像(改为仅源码分发),其 GitHub 仓库于 2026-02 归档,Docker Hub 上 minio/minio 与 minio/mc 现均返回 404;quay.io/minio/minio 仍在提供镜像。 本机此前是用 quay.io 的镜像重打 tag 顶替才跑通的(见 known-risks KR-01), 但那只是**本地绕过**、没有同步回仓库,于是「本地能起栈、CI 拉不到」。 现在三处 compose(本地 / staging / prod)统一改为 quay.io, 让本地、CI 与生产拉取同一个镜像。 这不只是 CI 问题:prod 与 staging 同样引用了已下架的仓库,是真实的部署阻塞 —— 也就是说现有配置下,新环境的生产部署根本起不来。 已知偏离:使用 latest 而非钉版。本机无法访问 quay 的 tag API 去核实某个具体 RELEASE tag 是否仍存在(quay 上的镜像已冻结,最后发布为 2025-09)。 e2e job 新增一步打印实际拉取到的版本,日后即可据此钉版、恢复可复现性。 长期风险:quay 上的 MinIO 镜像同样可能下架,届时需自建镜像或迁移到其他 S3 兼容存储 —— 「依赖第三方镜像」本身就是一条外部依赖风险。 上一轮修复已见效:backend / admin-web / ui-contracts / miniapp / test-shell-guard / migration 六个 job 均通过,本轮仅剩 E2E。
This commit is contained in:
@@ -249,6 +249,15 @@ jobs:
|
||||
working-directory: infrastructure
|
||||
run: docker compose config --quiet
|
||||
|
||||
# compose 现在用的是 quay.io/minio/minio:latest(滚动 tag,见该文件注释):
|
||||
# Docker Hub 上的 minio/minio 仓库已被整体移除,而本机访问不到 quay 的 tag API
|
||||
# 去核实某个具体 RELEASE tag 是否仍在。故先用 latest 跑通,并在这里把实际
|
||||
# 拉取到的版本打进日志 —— 日后即可据此把版本钉死,恢复可复现性。
|
||||
- name: 拉取并打印 minio 实际版本(为后续钉版留证据)
|
||||
run: |
|
||||
docker pull quay.io/minio/minio:latest
|
||||
docker run --rm quay.io/minio/minio:latest --version
|
||||
|
||||
# 保证库为全新:seed 用 `ON CONFLICT (username) DO NOTHING`,若卷是上一轮残留,
|
||||
# 账号密码会停留在上一轮的 `E2E_OPERATOR_PASSWORD` 上 → 本轮登录 401(表现为各种业务失败)。
|
||||
- name: 清理可能的残留栈与数据卷
|
||||
|
||||
Reference in New Issue
Block a user