建立推送管道和目標

本頁說明如何建立交付管道和目標,這些管道和目標會說明 Cloud Deploy 將應用程式部署到何處,以及部署方式。如要瞭解交付管道和目標的 YAML 檔案結構,請參閱「設定檔結構定義」。

關於推送管道和目標

推送管道會說明部署目標進度。您可以在與發布管道相同的檔案中定義這些目標,也可以在一或多個個別檔案中定義。

建立交付管道和目標定義檔後,請針對每個檔案執行 gcloud deploy apply,將這些檔案註冊為 Cloud Deploy 資源。

定義推送管道和目標

如要瞭解推送管道和目標設定檔的結構,請參閱這篇文章

您可以隨意命名這個檔案。按照慣例,包含 目標定義的交付管道設定稱為 clouddeploy.yaml,而參照一或多個獨立檔案中定義目標的設定則稱為 delivery-pipeline.yaml

目標可以指向 GKEGKE EnterpriseCloud Run。在傳送管道中,所有目標都必須參照相同的執行階段類型 (例如,全為 GKE 或全為 GKE Enterprise)。

使用 Google Cloud 控制台建立推送管道和目標

您可以使用 Google Cloud 控制台建立新的發布管道和目標。這項功能有助於試用 Cloud Deploy,但不適合用於正式環境工作負載。(您也可以使用Google Cloud 控制台建立版本)。

如要建立推送管道,請按照下列步驟操作:

  1. 在「Delivery pipelines」(發布管道) 頁面中,按一下「Create」(建立)

  2. 提供名稱 (或保留預設名稱),並視需要提供說明。

  3. 選取所在地區。

  4. 選擇執行階段環境。

    如果是 GKE,請選擇「Google Kubernetes Engine」,或選取「Cloud Run」 (如果您要部署至該執行階段)。

  5. 在「新目標」下方,提供名稱 (或保留預設名稱)。

  6. 如要規定必須核准才能在這個目標推出版本,請選取「須經核准才能推出版本」核取方塊。

  7. 如果要在這個目標上使用初期測試版部署策略,請選取「啟用初期測試版」核取方塊。

  8. 按一下 [完成]

  9. 按一下「新增目標」,然後針對要建立的每個額外目標,按照下列步驟操作。

  10. 設定所有目標後,按一下「建立」,即可建立傳送管道和目標資源。

註冊推送管道和目標

如果您是使用 Google Cloud 控制台建立管道和目標,則無須執行這項操作。

如要向 Cloud Deploy 註冊推送管道,請為每個個別定義檔執行一次 gcloud deploy apply。也就是說,如果您在三個檔案中定義三個目標,則需要執行四次指令,分別是推送 pipeline 一次,以及每個目標各一次。

下列指令會註冊推送管道,並在同一個檔案中定義目標。

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

您現在擁有推送管道,可管理發布版本的部署作業,以及可供相同專案和區域中任何推送管道使用的目標資源。

單一檔案範例

這個範例中的指令會註冊推送管道和目標,這些管道和目標全都在同一個檔案中定義:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

使用個別檔案的範例

在這個範例中,有三個目標定義在三個不同的檔案中,因此您會執行四個指令:

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

除非您已設定預設值 (使用 gcloud config set deploy/region [REGION]),否則必須使用 --region 標記。推送管道和該管道參照的所有目標必須位於相同區域。

使用 Terraform 建立推送管道和目標

您也可以使用 Google Cloud Terraform 提供者,建立推送管道目標資源。

Google Cloud Beta 版 Terraform 供應商可能支援預先發布版的 Cloud Deploy 功能。

編輯現有管道和目標

日後您可以編輯任何推送管道或目標設定,並執行 gcloud deploy apply 來更新管道或目標資源。但這些變更不會影響任何現有發行內容,因為這些內容是由原始的發行管道管理。

要求手動核准部署作業

如要為特定目標設定手動核准,請在目標定義中加入下列屬性:

requireApproval: true

預設值為 false。如果從推送管道設定中省略這個屬性,或未提供任何值,部署至這個目標時就不需要核准。(但嘗試升級至目標的呼叫者仍需具備 clouddeploy.rollouts.create IAM 權限)。

您甚至可以要求第一個目標須經手動核准。使用 CLI 為第一個目標建立版本時,系統會自動建立 rollout。如果需要核准,Cloud Deploy 會建立 rollout,但會處於待發布狀態,直到獲得核准為止。

後續步驟