推送版本並管理核准

本頁面說明如何將現有的 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. 按一下推送管道清單中顯示的管道。

    「Delivery pipeline details」(提交管道詳細資料) 頁面會以圖形呈現提交管道的進度。

     Google Cloud 控制台中的提交管道可視化圖表

  3. 在發布管道圖表中的第一個目標上,按一下「提昇」

    系統會顯示「宣傳版本」對話方塊。這份報表會顯示您要宣傳的目標對象詳細資料。

  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 主題的使用者或系統會收到通知,並可核准或拒絕新功能的推出。

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

核准或拒絕推出作業

每個目標都必須經過核准,才能部署任何版本。當您將版本提交至需要核准的目標時,Cloud Deploy 會將 Pub/Sub 訊息發布至 clouddeploy-approvals 主題。

任何具備 roles/clouddeploy.approver 角色的使用者或服務帳戶,都可以核准將 Cloud Deploy 部署至需要核准的目標。

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

手動核准或拒絕

主控台

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

    開啟「Delivery pipelines」頁面

    Google Cloud 控制台會顯示發布管道清單。系統不會顯示已設定但尚未註冊至 Cloud Deploy 服務的提交管道。

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

    畫面上會顯示管道圖表。如果核准程序尚未完成,且您擁有 roles/clouddeploy.approver 角色或等同的權限,圖表會包含「查看」連結。

    待核准的推送管道示意圖

  3. 按一下「查看」

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

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

  4. 按一下「查看」

    畫面上會顯示「Approve rollout」(核准推播) 畫面。

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

    「資訊清單差異」分頁會顯示目前已部署版本 (如有) 與您目前核准 (或拒絕) 的版本,對轉譯資訊清單所做的任何變更。

  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