You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Google Cloud Deploy不支持单流水线包含多种目标类型?

Google Cloud Deploy混合目标类型流水线报错原因及疑问解答

问题现象

创建包含自定义Terraform目标与Cloud Run目标的交付流水线发布时,触发以下错误:

ERROR: (gcloud.deploy.releases.create) FAILED_PRECONDITION:
[cloud-run] are Cloud Run target(s), [terraform-workspace] are Custom target(s):
failed precondition

错误原因

Google Cloud Deploy当前的产品设计规则明确:同一交付流水线内的所有目标必须属于同一类型。具体来说:

  • 要么全部是托管目标(如Cloud Run、GKE)
  • 要么全部是同一种自定义目标类型
    不允许在单条流水线中混合不同类型的目标,包括混合托管目标与自定义目标,或是混合多种不同的自定义目标类型。

关于建模合理性与技术限制的解答

1. 建模方式是否合理?

你提出的“先部署基础设施、再部署服务”的逻辑完全合理,这是云原生部署中常见的依赖编排场景。但Cloud Deploy的核心定位是聚焦同类型资源的多环境递进发布(比如Dev→Staging→Prod的服务迭代),而非跨类型的基础设施+服务混合部署流程,因此当前设计不支持这种混合建模。

2. 是否为可解除的技术限制?

目前这属于产品设计层面的限制,而非无法突破的技术障碍。虽然Google Cloud官方尚未公开明确的支持时间表,但这类混合部署的需求具有普遍性,未来存在开放该功能的可能性。

现阶段替代方案

如果要实现“基础设施+服务”的顺序部署,可采用以下两种方案:

  • 预部署钩子:在Cloud Run目标的部署阶段添加预部署钩子,执行Terraform基础设施部署逻辑
  • 拆分流水线:创建两条独立的交付流水线:
    1. 第一条流水线专门处理Terraform基础设施的发布
    2. 第二条流水线负责Cloud Run服务部署,通过Cloud Build或其他编排工具,在第一条流水线完成后自动触发第二条

复现步骤

配置文件(clouddeploy.yaml)

apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata:
  name: service-with-infra
description: deploy infra required by the service, then the service itself
serialPipeline:
  stages:
  - targetId: terraform-workspace
  - targetId: cloud-run

---
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
  name: cloud-run
run: {location: projects/YOUR_PROJECT_NAME/locations/us-central1}

---
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
  name: terraform-workspace
customTarget: {customTargetType: terraform-workspace}

---
apiVersion: deploy.cloud.google.com/v1
kind: CustomTargetType
metadata:
  name: terraform-workspace
customActions: {renderAction: terraform-workspace-render, deployAction: terraform-workspace-deploy}

执行命令

gcloud deploy apply --file clouddeploy.yaml --region us-central1 --project YOUR_PROJECT
gcloud deploy releases create release1 --delivery-pipeline service-with-infra --region us-central1 --project YOUR_PROJECT

内容的提问来源于stack exchange,提问作者Ken Kania

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:34:55