如何使用Google Cloud Run部署代码仓库的不同分支
部署代码仓库不同分支到Google Cloud Run的方法
方法一:为不同分支创建独立Cloud Run服务
如果需要让test分支与已部署的主分支服务完全隔离(拥有独立域名、配置),可通过指定新服务名完成部署:
命令行方式(gcloud)
gcloud run deploy engine-test \ --source https://source.developers.google.com/p/[你的项目ID]/r/engine#test \ --region [你的部署区域] \ --allow-unauthenticated # 按需添加,公开访问时启用
其中engine-test是新服务的名称,#test用于指定要部署的分支。
控制台方式
- 打开Cloud Run控制台,点击「创建服务」
- 在「源代码」区域选择你的
engine仓库,从「分支/标签」下拉框选中test - 在「服务名称」栏输入新名称(如
engine-test),避免与已存在的主分支服务重名 - 完成区域、权限等配置后,点击「创建」
方法二:将不同分支部署为同一服务的修订版本
如果希望test分支作为现有服务的测试版本(共享服务域名,可灵活分配流量),可直接部署到已有服务:
命令行方式(gcloud)
gcloud run deploy engine \ --source https://source.developers.google.com/p/[你的项目ID]/r/engine#test \ --region [你的部署区域] \ --no-traffic # 可选:不自动将流量切换到新修订版
执行后,Cloud Run会为test分支生成新的修订版本,原主分支的版本仍会保留。你可以在控制台的「修订版本」页面手动分配流量(比如给test分支分配10%流量做灰度测试)。
控制台方式
- 打开已部署的
engine服务详情页,点击「部署新修订版本」 - 在「源代码」区域选择
engine仓库,切换分支为test - 调整配置后点击「部署」,即可生成对应test分支的新修订版
常见问题排查
若部署时提示无法操作,通常是以下原因:
- 未明确指定分支:部署时必须明确标注要部署的分支,而非默认的主分支
- 服务名冲突:尝试用已存在的服务名部署新分支,需改为新服务名或选择部署为修订版本
- 权限不足:检查当前账号是否拥有Cloud Run部署权限(如
roles/run.admin或roles/developer)
内容的提问来源于stack exchange,提问作者Skyturkish
相关产品推荐
相关产品推荐

