如何在Buildpack中将Google Cloud Run持续部署的Java版本改为17
修改Cloud Build内嵌配置以使用Java 17
直接编辑触发器的内嵌构建步骤
- 打开GCP控制台,进入「Cloud Build」→「触发器」页面,找到自动创建的那个触发器
- 进入触发器编辑界面,滑到「构建配置」区域,选择「内嵌构建步骤」
- 找到原步骤里的
gcr.io/cloud-builders/mvn,替换为Java17版本的Maven构建镜像gcr.io/cloud-builders/mvn:openjdk-17
示例完整构建步骤:steps: - name: 'gcr.io/cloud-builders/mvn:openjdk-17' args: ['clean', 'package', '-DskipTests'] - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/你的应用名称', '.'] images: - 'gcr.io/$PROJECT_ID/你的应用名称' - 保存配置,重新触发构建即可生效
用项目内的cloudbuild.yaml覆盖内嵌配置(推荐)
- 在Spring Boot项目根目录新建
cloudbuild.yaml文件,写入以下配置:steps: # 用Java17的Maven镜像执行打包 - name: 'gcr.io/cloud-builders/mvn:openjdk-17' args: ['clean', 'package', '-DskipTests'] # 构建并标记Docker镜像 - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/你的应用名称', '.'] images: - 'gcr.io/$PROJECT_ID/你的应用名称' - 将该文件提交到代码仓库,Cloud Build会自动读取这个配置,替代原来的内嵌设置
额外提醒
- 同时要检查项目的Dockerfile,确保基础镜像使用Java17版本(比如
eclipse-temurin:17-jre-alpine),避免运行环境和构建环境版本不匹配 - 构建完成后,可查看Cloud Build日志确认Java版本是否为17
内容的提问来源于stack exchange,提问作者K.Nicholas
相关产品推荐
相关产品推荐

