Flutter安卓应用需从Container Registry升级至Artifact Registry的咨询
从Container Registry迁移到Artifact Registry(Flutter安卓应用场景)
一、准备工作
- 确保你拥有Google Cloud项目的所有者或编辑权限,能操作Container Registry和Artifact Registry资源
- 先梳理清楚你的Flutter项目CI/CD流程里,哪些环节用到了Container Registry的镜像或存储地址
二、迁移镜像到Artifact Registry
推荐:用官方工具一键迁移
Google提供了专门的迁移命令,能自动同步镜像和配置:
- 先把gcloud CLI更到最新版本:
gcloud components update - 创建目标Artifact Registry仓库(如果还没建):
gcloud artifacts repositories create [目标仓库名] --repository-format=docker --location=us-central1 - 执行迁移命令,替换成你的项目和仓库信息:
gcloud artifacts migrate docker --source=us.gcr.io/[你的项目ID]/[源仓库名] --destination=us-central1-docker.pkg.dev/[你的项目ID]/[目标仓库名] - 验证迁移结果:
gcloud artifacts docker images list us-central1-docker.pkg.dev/[你的项目ID]/[目标仓库名]
手动迁移(适合特殊镜像场景)
如果自动迁移不适用,手动拉取再推送:
- 拉取旧仓库的镜像:
docker pull us.gcr.io/[你的项目ID]/[镜像名]:[标签] - 给镜像打上新仓库的标签:
docker tag us.gcr.io/[你的项目ID]/[镜像名]:[标签] us-central1-docker.pkg.dev/[你的项目ID]/[目标仓库名]/[镜像名]:[标签] - 推送到新仓库:
docker push us-central1-docker.pkg.dev/[你的项目ID]/[目标仓库名]/[镜像名]:[标签]
三、更新Flutter项目及发布流程
- 修改CI/CD脚本:把所有引用
us.gcr.io的地址替换成Artifact Registry的地址(比如us-central1-docker.pkg.dev) - 调整构建依赖:如果你的Flutter构建用到了旧仓库的自定义镜像,现在要改成拉取新仓库的镜像
- 同步Google Play发布配置:如果发布流程里依赖旧仓库的存储,把地址更新为新仓库地址
四、收尾验证
- 跑一次完整的Flutter安卓构建+发布流程,确认所有环节正常
- 确认迁移完成后,可以删除旧仓库的镜像(记得备份重要资源)
- 关闭Container Registry的相关权限(如果不再使用)
内容的提问来源于stack exchange,提问作者Neil-NotNeo
相关产品推荐
相关产品推荐

