

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

# 步驟 2：將應用程式部署至 Auto Scaling 群組
<a name="tutorials-auto-scaling-group-create-deployment"></a>

在此步驟中，您將部署修訂版至 Auto Scaling 群組中的單一 Amazon EC2 執行個體。

**Topics**
+ [建立部署 (CLI)](#tutorials-auto-scaling-group-create-deployment-cli)
+ [建立部署 (主控台)](#tutorials-auto-scaling-group-create-deployment-console)

## 建立部署 (CLI)
<a name="tutorials-auto-scaling-group-create-deployment-cli"></a>

1. 呼叫 **create-application** 命令以建立名為 **SimpleDemoApp** 的應用程式：

   ```
   aws deploy create-application --application-name SimpleDemoApp
   ```

1. 您應該已經遵循以下[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)的說明建立服務角色。服務角色將授予 CodeDeploy 存取 Amazon EC2 執行個體的許可，以展開 （讀取） 其標籤。您需要服務角色 ARN。若要取得服務角色 ARN，請遵循 [取得服務角色 ARN (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli) 中的指示。

1. 現在您已擁有服務角色 ARN，請呼叫 **create-deployment-group**命令來建立名為 的部署群組**SimpleDemoDG**，此群組與名為 的應用程式相關聯**SimpleDemoApp**，並使用名為 的 Auto Scaling 群組**CodeDeployDemo-AS-Group**和名為 的部署組態**CodeDeployDefault.OneAtATime**，搭配指定的服務角色 ARN。
**注意**  
[create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html) 命令支援建立觸發，導致將部署和執行個體中指定事件的相關 Amazon SNS 通知傳送給主題訂閱者。命令也支援自動轉返部署和設定警示的選項，以在符合 Amazon CloudWatch 警示中的監控閾值時停止部署。本教學課程不包含這些動作的命令。

   在本機 Linux、macOS 或 Unix 機器上：

   ```
   aws deploy create-deployment-group \
     --application-name SimpleDemoApp \
     --auto-scaling-groups CodeDeployDemo-AS-Group \
     --deployment-group-name SimpleDemoDG \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --service-role-arn service-role-arn
   ```

   在本機 Windows 電腦上：

   ```
   aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefault.OneAtATime --service-role-arn service-role-arn
   ```

1. ​使用指定位置的修訂版，呼叫 **create-deployment** 命令以建立與名為 **SimpleDemoApp** 的應用程式關聯的部署、名為 **CodeDeployDefault.OneAtATime** 的部署組態、名為 **SimpleDemoDG** 的部署群組。

   **對於 Amazon Linux 和 RHEL Amazon EC2 執行個體，從本機 Linux、macOS 或 Unix 機器呼叫**

    

   ```
   aws deploy create-deployment \
     --application-name SimpleDemoApp \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --deployment-group-name SimpleDemoDG \
     --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip
   ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您區域的 CodeDeploy 資源套件檔案。例如，對於美國東部 （俄亥俄） 區域，將 *bucket-name* 取代為 `aws-codedeploy-us-east-2`。如需儲存貯體名稱的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

   **對於 Amazon Linux 和 RHEL Amazon EC2 執行個體，從本機 Windows 機器呼叫**

    

   ```
   aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip
   ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您所在區域的 CodeDeploy 資源套件檔案。例如，對於美國東部 （俄亥俄） 區域，將 *bucket-name* 取代為 `aws-codedeploy-us-east-2`。如需儲存貯體名稱的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

   **對於 Windows Server Amazon EC2 執行個體，從本機 Linux、macOS 或 Unix 機器呼叫**

    

   ```
   aws deploy create-deployment \
     --application-name SimpleDemoApp \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --deployment-group-name SimpleDemoDG \
     --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip
   ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您所在區域的 CodeDeploy 資源套件檔案。例如，對於美國東部 （俄亥俄） 區域，將 *bucket-name* 取代為 `aws-codedeploy-us-east-2`。如需儲存貯體名稱的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

   **對於 Windows Server Amazon EC2 執行個體，從本機 Windows 機器呼叫**

   ```
   aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip
   ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您所在區域的 CodeDeploy 資源套件檔案。例如，對於美國東部 （俄亥俄） 區域，將 *bucket-name* 取代為 `aws-codedeploy-us-east-2`。如需儲存貯體名稱的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。
**注意**  
目前，CodeDeploy 不提供範例修訂以部署至 Ubuntu Server Amazon EC2 執行個體。若要自行建立修訂版，請參閱[使用 CodeDeploy 的應用程式修訂](application-revisions.md)

1. 呼叫 **get-deployment** 命令，確保部署成功。

   呼叫此命令之前，您需要部署的 ID，其應該已由呼叫傳回 **create-deployment** 命令。 如果您需要再次取得部署 ID，請針對名為 **SimpleDemoApp** 的應用程式與名為 **SimpleDemoDG** 的部署群組 呼叫 **list-deployments** 命令。

   ```
   aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query "deployments" --output text
   ```

   現在，利用部署 ID 呼叫 **get-deployment** 命令。

   ```
   aws deploy get-deployment --deployment-id deployment-id --query "deploymentInfo.status" --output text
   ```

   在傳回的值為 `Succeeded` 之前不要繼續。

## 建立部署 (主控台)
<a name="tutorials-auto-scaling-group-create-deployment-console"></a>

1. 您應該已經遵循以下[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)的說明建立服務角色。服務角色將授予 CodeDeploy 存取執行個體以展開 （讀取） 其標籤的許可。在您使用 CodeDeploy 主控台部署應用程式修訂版之前，您將需要服務角色 ARN。若要取得服務角色 ARN，請遵循 [取得服務角色 ARN （主控台）](getting-started-create-service-role.md#getting-started-get-service-role-console) 中的指示。

1. 現在您已擁有服務角色 ARN，您可以使用 CodeDeploy 主控台來部署應用程式修訂版。

   登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) 開啟 CodeDeploy 主控台。
**注意**  
使用您在 中設定的相同使用者登入[CodeDeploy 入門](getting-started-codedeploy.md)。

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 選擇**建立應用程式**。

1. 選擇 **Custom application (自訂應用程式)**。

1. 在 **Application name (應用程式名稱)** 中，輸入 **SimpleDemoApp**。

1. 在 **Compute Platform (運算平台)** 中，選擇 **EC2/On-premises (EC2/現場部署)**。

1. 選擇**建立應用程式**。

1. 在 **Deployment groups (部署群組)** 標籤中，選擇 **Create deployment group (建立部署群組)**。

1. 在 **Deployment group name (部署群組名稱)** 中，輸入 **SimpleDemoDG**。

1. 在 **Service Role (服務角色)** 中，選擇您服務角色的名稱。

1. 在 **Deployment type (部署類型)** 中，選擇 **In-place (就地)**。

1. 在**環境組態**中，選取 **Auto Scaling 群組**，然後選擇 **CodeDeployDemo-AS-Group**。

1. 在**部署組態**中，選擇 **CodeDeployDefault.OneAtATime**。

1. 清除 **Enable load balancing (啟用負載平衡)**。

1. 選擇 **Create deployment group (建立部署群組)**。

1. 在部署群組標籤中，選擇 **Create deployment (建立部署)**。

1. 在**修訂類型**中，選擇**我的應用程式存放在 Amazon S3 中**。

1. 在 **Revision location (修訂版位置)**，輸入作業系統和區域的範例應用程式的位置。

   **對於 Amazon Linux 和 RHEL Amazon EC2 執行個體**  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/tutorials-auto-scaling-group-create-deployment.html)

   **對於 Windows Server Amazon EC2 執行個體**  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/tutorials-auto-scaling-group-create-deployment.html)

    **對於 Ubuntu Server Amazon EC2 執行個體**

   輸入儲存在 Amazon S3 中的自訂應用程式修訂版位置。

1. 將 **Deployment description (部署描述)** 空白。

1. 展開 **Advanced (進階)**。

1. 選擇 **Create deployment (建立部署)**。
**注意**  
如果狀態出現 **Failed (失敗)**，而非 **Succeeded (成功)**，則可嘗試[監控您的部署並進行疑難排解](tutorials-wordpress-deploy-application.md#tutorials-wordpress-deploy-application-monitor)中的某些技術 (使用 **SimpleDemoApp** 應用程式名稱，以及 **SimpleDemoDG** 部署群組名稱)。