本頁說明如何建立提交管道和目標,說明 Cloud Deploy 會在何處部署應用程式,以及如何部署。如需發布管道和目標的 YAML 檔案結構說明,請參閱「設定檔結構定義」。
關於推送管道和目標
推送管道會說明部署目標的進度。您可以在與提交管道相同的檔案中,或在一或多個獨立的檔案中定義這些目標。
建立發布管道和目標定義檔案後,請針對每個檔案執行 gcloud deploy apply
,將這些檔案註冊為 Cloud Deploy 資源。
定義推送管道和目標
如要瞭解提交管道和目標設定檔的結構,請參閱這篇文章。
您可以隨意命名這個檔案。依慣例,包含 目標定義的提交管道設定稱為 clouddeploy.yaml
,而參照一或多個獨立檔案中定義的目標的設定則稱為 delivery-pipeline.yaml
。
目標可以指向 GKE、GKE Enterprise 或 Cloud Run。在提交管道中,所有目標都必須參照相同的執行階段類型 (例如所有 GKE 或所有 GKE Enterprise)。
使用 Google Cloud 控制台建立推送管道和目標
您可以使用 Google Cloud 控制台建立新的提交管道和目標。這項做法可用於試用 Cloud Deploy,但不適合用於正式工作負載。(您也可以使用Google Cloud 控制台建立版本)。
如要建立推送管道,請按照下列步驟操作:
在「Delivery pipelines」(提交管道)頁面中,按一下「Create」(建立)。
提供名稱 (或保留預設名稱),並視需要輸入說明。
選取所在地區。
選擇執行階段環境。
如果是 GKE,請選擇「Google Kubernetes Engine」,如果是 Cloud Run,請選取「Cloud Run」。
在「新目標」下方提供名稱 (或保留預設名稱)。
如果您想對這個目標設定核准要求,請選取「須經過核准才能推出」核取方塊。
如果您打算對這個目標使用初期測試版部署策略,請選取「啟用初期測試版」核取方塊。
按一下 [完成]。
按一下「新增目標」,然後針對要建立的每個額外目標,按照這些步驟操作。
完成所有目標後,按一下「建立」,即可建立提交管道和目標資源。
註冊推送管道和目標
如果您是使用 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
,但會處於待發布狀態,直到核准為止。
後續步驟
請參閱「部署應用程式」,瞭解如何叫用發布管道並建立版本。