建立推送管道和目標

本頁說明如何建立提交管道和目標,說明 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,請選取「Cloud Run」

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

  6. 如果您想對這個目標設定核准要求,請選取「須經過核准才能推出」核取方塊。

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

  8. 按一下 [完成]

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

  10. 完成所有目標後,按一下「建立」,即可建立提交管道和目標資源。

註冊推送管道和目標

如果您是使用 Google Cloud 控制台建立管道和目標,就不需要執行這項操作。

如要透過 Cloud Deploy 註冊提交管道,請為每個定義檔案分別執行 gcloud deploy apply 一次。也就是說,如果您在三個檔案中定義三個目標,則您會執行四次指令:一次為提交管道,一次為每個目標。

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

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,但會處於待發布狀態,直到核准為止。

後續步驟