

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

# 設定部署群組的進階選項
<a name="deployment-groups-configure-advanced-options"></a>

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

在您使用下列主題中的部署群組時，使用此頁面上的資訊協助您設定進階選項：
+ [使用 CodeDeploy 建立應用程式](applications-create.md)
+ [使用 CodeDeploy 建立部署群組](deployment-groups-create.md)
+ [使用 CodeDeploy 變更部署群組設定](deployment-groups-edit.md)

**Amazon SNS 通知觸發**條件：您可以將觸發條件新增至 CodeDeploy 部署群組，以接收與該部署群組中部署相關的事件通知。這些通知會傳送給訂閱您已作為觸發動作一部分的 Amazon SNS 主題的收件人。

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

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

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

如需詳細資訊，請參閱[使用 Amazon SNS 事件通知監控部署](monitoring-sns-event-notifications.md)。

**Amazon CloudWatch 警示**：您可以建立 CloudWatch 警示，在您指定的期間內監看單一指標，並根據相對於指定閾值的指標值，在多個期間內執行一或多個動作。對於 Amazon EC2 部署，您可以為您在 CodeDeploy 操作中使用的執行個體或 Amazon EC2 Auto Scaling 群組建立警示。對於 AWS Lambda 和 Amazon ECS 部署，您可以為 Lambda 函數中的錯誤建立警示。

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

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

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

1. 輸入您已設定用來監控此部署的 CloudWatch 警示名稱。

   您必須完全依照在 CloudWatch 中建立的警示輸入 CloudWatch 警示。若要檢視警示清單，請在 開啟 CloudWatch 主控台[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)，然後選擇 **ALARM**。

其他選項：
+ 若您想要繼續部署，而無需考慮您新增的警示，請選擇 **Ignore alarm configuration (忽略警示組態)**。

  這個選擇在您希望暫時停用部署群組的警示監控，又不需要稍後再次新增相同的警示時非常有用。
+ （選用） 如果您希望部署在 CodeDeploy 無法從 Amazon CloudWatch 擷取警示狀態的情況下繼續進行，請選擇**繼續部署，即使警示狀態無法使用**。
**注意**  
此選項對應至 CodeDeploy API **ignorePollAlarmFailure** 中 [AlarmConfiguration](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AlarmConfiguration.html) 物件中的 。

如需詳細資訊，請參閱[在 CodeDeploy 中使用 CloudWatch 警示監控部署](monitoring-create-alarms.md)。



**自動轉返**：您可以設定部署群組，或設定部署在部署失敗或到達您指定的監控閾值時自動轉返。在此案例下，便會部署最後一個已知良好的應用程式修訂版本。您可以在使用主控台建立應用程式、建立部署群組或更新部署群組時設定部署群組的選擇性設定。當您建立新的部署時，您也可以選擇覆寫先前為部署群組指定的自動轉返組態。
+ 您可以在發生問題時，透過選擇其中一個或所有下列項目，讓部署轉返至最近一個已知良好的修訂：
  + **部署失敗時轉返**。CodeDeploy 會將最後一個已知的良好修訂重新部署為新的部署。
  + **Roll back when alarm thresholds are met (在到達警示閾值時轉返)**。如果您在上一個步驟中將警示新增至此應用程式，CodeDeploy 會在一或多個指定的警示啟用時重新部署最後一個已知的良好修訂。
**注意**  
若要暫時忽略轉返組態，請選擇 **Disable rollbacks (停用轉返)**。這個選擇在您希望暫時停用自動轉返，又不想要稍後再次設定相同組態時非常有用。

  如需詳細資訊，請參閱[使用 CodeDeploy 重新部署以及復原部署](deployments-rollback-and-redeploy.md)。

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

若要透過 API 設定過時執行個體的自動更新，請在 `UpdateDeploymentGroup`或 `CreateDeploymentGroup`動作中包含 `outdatedInstancesStrategy` 請求參數。如需詳細資訊，請參閱 *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\$1IGNORE* 會取代為`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 命令參考*。