如何升级Angular+Firebase项目支持Firebase云函数Artifact Registry
核心结论
是的,自2022年Google Cloud将容器存储服务从Container Registry全面迁移至Artifact Registry后,Firebase Functions(底层依托Cloud Functions运行)已经将Artifact Registry作为强制依赖项,所有新部署、更新的函数镜像都会存储在Artifact Registry中。整个流程不需要你掌握Docker、容器仓库相关的专业知识,Firebase CLI会自动处理绝大多数底层配置,不需要手动调整镜像相关的参数。
零门槛配置步骤(无需安装gcloud CLI、无需Docker知识)
- 启用Artifact Registry API
打开Google Cloud控制台,选中你当前Firebase项目绑定的GCP项目,搜索找到Artifact Registry API服务页,点击「启用」等待服务激活完成即可,这一步没有额外需要填写的配置项。 - 创建默认兼容仓库
启用服务后弹出的「Create gcr.io repositories in Artifact Registry?」提示是官方提供的老项目兼容入口,直接点击确认创建即可,页面默认选中的主机名、容器镜像配置项完全适配Firebase Functions的部署规则,不需要修改任何选项。这一步的作用只是补建Firebase部署时默认写入的仓库路径,不会影响你已经上线的函数运行。注意:页面上展示的gcloud CLI命令是给需要手动操作仓库的开发者准备的,你只用Firebase CLI部署函数的话,完全不需要执行这些命令。
- 重新执行部署
完成前两步后回到本地Angular项目目录,直接运行你之前常用的部署命令即可,一般是firebase deploy --only functions,后续的镜像上传、版本更新流程Firebase CLI会自动完成,和你之前的部署操作没有区别。
排错提示
如果完成上述操作后仍然部署失败,先把本地的Firebase CLI升级到最新版本,低于11.x版本的老版CLI没有适配Artifact Registry的自动配置逻辑,升级命令为:npm install -g firebase-tools
不需要手动创建其他自定义仓库,也不需要修改项目内的Firebase配置文件,手动调整仓库路径反而会导致CLI找不到对应存储位置出现部署错误。整个迁移过程不会产生额外的费用,Artifact Registry的免费配额完全覆盖常规函数开发的存储需求,和原Container Registry的计费标准基本一致。
内容的提问来源于stack exchange,提问作者Meliovation
相关产品推荐
相关产品推荐

