Cloud Run配置持续交付后提交代码无法自动部署该如何处理?
Cloud Run 构建完成后无法自动部署的配置调整方案
1. 补充Cloud Build的部署步骤配置
绝大多数情况下该问题是触发器仅配置了镜像构建逻辑,没有添加部署到Cloud Run的步骤。你可以直接在项目根目录的cloudbuild.yaml中新增推送镜像、部署服务的步骤,参考配置如下:
steps: # 原有构建镜像步骤 - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/自定义镜像名:$COMMIT_SHA', '.'] # 新增镜像推送步骤 - name: 'gcr.io/cloud-builders/docker' args: ['push', 'gcr.io/$PROJECT_ID/自定义镜像名:$COMMIT_SHA'] # 新增Cloud Run部署步骤 - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: gcloud args: - 'run' - 'deploy' - '你的Cloud Run服务名称' - '--image' - 'gcr.io/$PROJECT_ID/自定义镜像名:$COMMIT_SHA' - '--region' - '你服务部署的区域,例:us-central1' - '--platform' - 'managed' images: - 'gcr.io/$PROJECT_ID/自定义镜像名:$COMMIT_SHA'
2. 补全Cloud Build服务账号权限
- 确保Cloud Build默认服务账号(格式为
[项目编号]@cloudbuild.gserviceaccount.com)已被授予Cloud Run 开发者和服务账号用户两个角色,缺少权限会导致构建完成后无法调用Cloud Run的部署接口。
3. 检查Cloud Run内置持续交付的发布规则
如果你使用的是Cloud Run自带的持续交付配置而非手动创建的Cloud Build触发器,需要做两项检查:
- 进入对应Cloud Run服务的「持续交付」标签页,确认dev分支对应的触发器已关联到当前服务
- 确认触发器触发时自动部署修订版本选项已开启,没有配置手动审批发布环节,手动审批规则会阻止自动部署流程。
4. 排查构建日志的报错信息
进入Cloud Build的构建历史页面,找到对应提交的构建任务,查看完整执行日志,确认是否存在镜像名不匹配、区域配置错误、资源配额不足这类明确报错,可根据报错信息针对性修正配置。
内容的提问来源于stack exchange,提问作者Lostsoul
相关产品推荐
相关产品推荐

