設定部署群組的進階選項 - AWS CodeDeploy

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定部署群組的進階選項

當您建立或更新部署群組時,您可以設定數個選項,針對該部署群組的部署提供更多控制及監督。

在您使用下列主題中的部署群組時,使用此頁面上的資訊協助您設定進階選項:

Amazon SNS 通知觸發器:您可以將觸發器新增至 CodeDeploy 部署群組,以接收與該部署群組中部署相關事件的通知。這些通知會傳送給訂閱您已參與觸發器動作一部分之 Amazon SNS 主題的收件者。

您必須已設定此觸發器將指向的 Amazon SNS 主題,並且 CodeDeploy必須具有從此部署群組發佈至主題的權限。若您尚未完成這些設定步驟,您可以稍後再將觸發新增到部署群組。

若您想要立即建立觸發,以接收此應用程式部署群組中部署事件的通知,請選擇建立觸發

如果您的部署是 Amazon EC2 執行個體,您可以建立執行個體的通知,並接收有關執行個體的通知。

如需詳細資訊,請參閱 Monitoring Deployments with Amazon SNS Event Notifications

Amazon CloudWatch 警示:您可以建立 CloudWatch 警示來監視指定時段內的單一指標,並根據指定臨界值在多個時段內相對於指定閾值的指標值執行一或多個動作。對於 Amazon EC2 部署,您可以為您在 CodeDeploy 操作中使用的執行個體或 Amazon EC2 Auto Scaling 群組建立警示。對於 AWS Lambda 和 Amazon ECS 部署,您可以針對 Lambda 函數中的錯誤建立警示。

您可以將部署設定為在 Amazon CloudWatch 警示偵測到指標低於或超過定義的閾值時停止。

您必須 CloudWatch 先在中建立警示,才能將其新增至部署群組。

  1. 若要將警示監控新增至部署群組,請在 Alarms (警示) 中選擇 Add alarm (新增警示)

  2. 輸入您已設定為監視此部署的 CloudWatch 警示名稱。

    您必須輸入 CloudWatch 鬧鐘與中建立的警示完全相同 CloudWatch。若要檢視警示清單,請在的開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/,然後選擇 [鐘]。

其他選項:

  • 若您想要繼續部署,而無需考慮您新增的警示,請選擇 Ignore alarm configuration (忽略警示組態)

    這個選擇在您希望暫時停用部署群組的警示監控,又不需要稍後再次新增相同的警示時非常有用。

  • (選擇性) 如果您希望在無法從 Amazon 擷取警示狀態的 CodeDeploy 事件中繼續進行部署 CloudWatch,請選擇即使警示狀態無法使用仍繼續部署

    注意

    此選項對ignorePollAlarmFailure應於 CodeDeploy API 中的AlarmConfiguration物件中。

如需詳細資訊,請參閱 使用 CloudWatch 警示監控部署 CodeDeploy

自動轉返:您可以設定部署群組,或設定部署在部署失敗或到達您指定的監控閾值時自動轉返。在此案例下,便會部署最後一個已知良好的應用程式修訂版本。您可以在使用主控台建立應用程式、建立部署群組或更新部署群組時設定部署群組的選擇性設定。當您建立新的部署時,您也可以選擇覆寫先前為部署群組指定的自動轉返組態。

  • 您可以在發生問題時,透過選擇其中一個或所有下列項目,讓部署轉返至最近一個已知良好的修訂:

    • 部署失敗時回復。 CodeDeploy 會將最後一個已知的良好修訂版重新部署為新部署。

    • Roll back when alarm thresholds are met (在到達警示閾值時轉返)。如果您在上一個步驟中新增警示至此應用程式,則 CodeDeploy 會在啟動一或多個指定的警示時重新部署最後一個已知的正確修訂版本。

    注意

    若要暫時忽略轉返組態,請選擇 Disable rollbacks (停用轉返)。這個選擇在您希望暫時停用自動轉返,又不想要稍後再次設定相同組態時非常有用。

    如需詳細資訊,請參閱 使用以下方式重新部署和復原部署 CodeDeploy

過期執行個體的自動更新:在某些情況下, CodeDeploy 可能會將應用程式的過期修訂版部署到 Amazon EC2 執行個體。例如,如果您的 EC2 執行個體在 CodeDeploy 部署進行時啟動到 Auto Scaling 群組 (ASG),則這些執行個體會收到應用程式的舊版本,而不是最新版本。為了使這些執行個體保持最新狀態,請 CodeDeploy 自動啟動後續部署 (在第一個執行個體之後立即),以更新任何過時的執行個體。如果您想更改此默認行為,以便將過時的 EC2 實例保留在較舊的版本中,則可以通過 CodeDeploy API 或 AWS Command Line Interface (CLI)執行此操作。

若要透過 API 設定過期執行個體的自動更新,請在UpdateDeploymentGroupCreateDeploymentGroup動作中加入 outdatedInstancesStrategy request 參數。如需詳細資訊,請參閱 AWS CodeDeploy API 參考資料。

若要透過配置自動更新 AWS CLI,請使用下列其中一個指令:

aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

或者...

aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

... 其中引數會取代為部署所需的引數,而 UPDATE|IGNORE 會取代為啟UPDATE用自動更新或停IGNORE用它們。

範例:

aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE

如需這些 AWS CLI 指令的詳細資訊,請參閱《指AWS CLI 令參考》