

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 步骤 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** 命令，使用名为 **CodeDeployDemo-AS-Group** 的 Auto Scaling 组和名为 **CodeDeployDefault.OneAtATime** 的部署配置创建一个与名为 **SimpleDemoApp** 的应用程序相关联的名为 **SimpleDemoDG** 的部署组（具有指定的服务角色 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*是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如，对于美国东部（俄亥俄州）区域，请*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*是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如，对于美国东部（俄亥俄州）区域，请*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*是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如，对于美国东部（俄亥俄州）区域，请*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*是包含您所在地区的 CodeDeploy 资源包文件的 Amazon S3 存储桶的名称。例如，对于美国东部（俄亥俄州）区域，请*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** 命令以确保部署已成功。

   在调用此命令之前，您需要应该已经通过调用 **create-deployment** 命令返回的部署 ID。如果需要再次获取部署 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://console.aws.amazon.com/codede](https://console.aws.amazon.com/codedeploy) ploy 上打开 CodeDeploy 控制台。
**注意**  
使用您在[入门 CodeDeploy](getting-started-codedeploy.md)中设置的同一用户登录。

1. 在导航窗格中，展开**部署**，然后选择**应用程序**。

1. 选择**创建应用程序**。

1. 选择**自定义应用程序**。

1. 在 **Application name（应用程序名称）**中，输入 **SimpleDemoApp**。

1. 在**计算平台**中，选择 **EC2/本地**。

1. 选择**创建应用程序**。

1. 在**部署组**选项卡中，选择**创建部署组**。

1. 在 **Deployment group name（部署组名称）**中，输入 **SimpleDemoDG**。

1. 在**服务角色**中，选择您的服务角色的名称。

1. 在**部署类型**中，选择**就地**。

1. 在**环境配置**中，选择 **Auto Scaling 组**，然后选择 **CodeDeployDemo-AS-Group**。

1. 在**部署配置**中，选择**CodeDeployDefault。 OneAtATime**。

1. 清除**启用负载均衡**。

1. 选择 **Create deployment group（创建部署组）**。

1. 在“部署组”页面中，选择**创建部署**。

1. 对于**修订类型**，选择**我的应用程序存储在 Amazon S3 中**。

1. 在**修订位置**中，输入您的操作系统的示例应用程序的位置和区域。

   **对于 Amazon Linux 和 RHEL Amazon EC2 实例**  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/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_cn/codedeploy/latest/userguide/tutorials-auto-scaling-group-create-deployment.html)

    **对于 Ubuntu Server Amazon EC2 实例**

   键入存储在 Amazon S3 中的自定义应用程序修订的位置。

1. 保留**部署描述**为空。

1. 展开**高级**。

1. 选择 **Create deployment（创建部署）**。
**注意**  
如果显示**失败**而不是**成功**，则您可能需要尝试[监控您的部署并排除故障](tutorials-wordpress-deploy-application.md#tutorials-wordpress-deploy-application-monitor)中的一些方法（使用应用程序名称 **SimpleDemoApp** 和部署组名称 **SimpleDemoDG**）。