求从Container Registry转Artifact Registry构建部署Spring Boot至Cloud Run的示例
使用Artifact Registry构建并部署Spring Boot应用至Google Cloud Run简易指南
一、前置确认
确保你已经在目标区域(比如us-central1)创建了Artifact Registry的Docker类型仓库,仓库地址格式为:{区域ID}-docker.pkg.dev/{项目ID}/{仓库名称}
二、用Jib构建并推送镜像到Artifact Registry
直接修改原有Jib命令,替换镜像地址为Artifact Registry的格式即可:
./mvnw com.google.cloud.tools:jib-maven-plugin:3.2.1:build -Dimage={区域ID}-docker.pkg.dev/xyzproject/{你的仓库名}/myimage
举个实际例子,假设仓库在us-central1,名字是spring-boot-repo,命令就是:
./mvnw com.google.cloud.tools:jib-maven-plugin:3.2.1:build -Dimage=us-central1-docker.pkg.dev/xyzproject/spring-boot-repo/myimage
如果想简化后续构建命令,可以在pom.xml里配置Jib插件的默认镜像地址:
<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>3.2.1</version> <configuration> <to> <image>us-central1-docker.pkg.dev/xyzproject/spring-boot-repo/myimage</image> </to> </configuration> </plugin>
之后直接运行以下命令就能完成构建推送:
./mvnw jib:build
三、部署到Google Cloud Run
镜像推送完成后,用gcloud命令部署:
gcloud run deploy my-spring-service \ --image=us-central1-docker.pkg.dev/xyzproject/spring-boot-repo/myimage \ --region=us-central1 \ --platform=managed
my-spring-service是自定义的Cloud Run服务名称--region建议和Artifact Registry仓库的区域保持一致,提升部署效率
注意事项
- 确保本地已完成gcloud授权,并且配置了Artifact Registry的Docker凭据:
gcloud auth configure-docker {区域ID}-docker.pkg.dev - 若遇到权限问题,检查当前账号是否拥有Artifact Registry的推送权限和Cloud Run的部署权限
内容的提问来源于stack exchange,提问作者puzzled
相关产品推荐
相关产品推荐

