推送版本並管理核准

本頁說明如何將現有的 Cloud Deploy 版本升級至推送管道進展中的下一個目標。

事前準備

本頁面假設您已建立發行內容

推送版本

將版本部署至推送管道中定義的目標後,即可將其推送至下一個目標:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

其中:

RELEASE_NAME 是您要升級的版本名稱。

PIPELINE_NAME 是您用來管理這個版本部署作業的推送管道名稱。

REGION 是建立版本的區域名稱,例如 us-central1。必填。

如要進一步瞭解 gcloud deploy releases promote 指令,請參閱 Google Cloud SDK 參考資料。

主控台

  1. 開啟「推送管道」頁面

  2. 在推送管道清單中,按一下您的管道。

    「推送 pipeline 詳細資料」頁面會以圖形顯示推送 pipeline 的進度。

     Google Cloud 控制台中的推送管道視覺化

  3. 在推送管道的視覺化圖表中,按一下第一個目標上的「升級」

    系統會顯示「Promote release」對話方塊。顯示您宣傳目標的詳細資料。

  4. 點選「升級」。

如果發布版本後,發布管道或目標有所變更,Cloud Deploy 會傳回訊息,指出可能不符,並提示您確認升級。您可以n回應提示,並在繼續操作前檢查管道版本之間的差異。如果選擇繼續宣傳,系統會根據建立版本時定義的推送管道部署版本。如要進一步瞭解管道不符問題,請參閱「每個版本的管道執行個體」。

Cloud Deploy 會在目的地目標中為版本建立 rollout,並將版本排入部署佇列。部署後,傳送管道的視覺化內容會顯示這項事實:

 Google Cloud 控制台中的推送管道視覺化

管理推送管道的核准

你可以要求核准任何目標,並核准或拒絕發行至該目標。

如要以程式輔助方式管理核准作業,請使用 Pub/Sub 和 Cloud Deploy API,將工作流程管理系統 (例如 ServiceNow) 或其他系統與 Cloud Deploy 整合。

需要核准

如要規定任何目標都必須經過核准,請在目標設定中將 requireApproval 設為 true

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

詳情請參閱「交付管道設定」。

如果推出作業待核准,訂閱 clouddeploy-approvals Pub/Sub 主題的使用者或系統會收到來自 clouddeploy-approvals 主題的通知,然後就能核准或拒絕推出作業。

使用平行部署時,您可以將多重目標設定為需要核准。 如果升級至目標遭到拒絕,控制器推出作業就會失敗,並處於 APPROVAL_REJECTED 狀態,且不會建立子項推出作業。

核准或拒絕推出作業

具備 roles/clouddeploy.approver 角色的使用者或服務帳戶,可以核准 Cloud Deploy 推出至需要核准的目標。

整合式工作流程管理系統收到需要核准的通知 (使用服務通知) 後,即可使用 Cloud Deploy API 核准或拒絕推出作業。

手動核准或拒絕

主控台

  1. 在 Google Cloud 控制台中,前往 Cloud Deploy 的「Delivery pipelines」(推送管道) 頁面,查看可用推送管道的清單。

    開啟「推送管道」頁面

    推送管道清單會顯示在 Google Cloud 控制台。 系統不會顯示已設定但未 Cloud Deploy 服務註冊的交付管道。

  2. 按一下推送管道的名稱。

    系統會顯示管道圖表。如果核准程序尚未完成,且您具備 roles/clouddeploy.approver 角色或同等權限,則視覺化內容會包含「查看」連結。

    推送管道視覺化,待核准

  3. 按一下「查看」

    系統會顯示待核准的推出作業清單。

    這個管道的推出作業 (待核准)

  4. 按一下「查看」

    系統會顯示「核准推出」畫面。

    待核准的推出作業詳細資料

    「資訊清單差異」分頁會顯示從目前部署版本 (如有) 到您現在核准 (或拒絕) 的版本,所算繪資訊清單的任何變更。

  5. 按一下「核准」或「拒絕」

    如果核准,應用程式就會部署到目標。如果拒絕,應用程式就不會部署,且除非重新宣傳,否則之後無法核准。

gcloud

具備「roles/clouddeploy.approver」角色的使用者可以手動核准或拒絕推出。如要核准,請按照下列步驟操作:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

如要拒絕:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name