

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

# 步骤 5：创建应用程序和部署组
<a name="tutorials-github-create-application"></a>

在此步骤中，您将使用 CodeDeploy 控制台或创建应用程序和部署组，用于从存储 GitHub 库部署示例修订。 AWS CLI 



## 创建应用程序和部署组（控制台）
<a name="tutorials-github-create-application-console"></a>

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/codede](https://console.aws.amazon.com/codedeploy) ploy 上打开 CodeDeploy 控制台。
**注意**  
使用您在[入门 CodeDeploy](getting-started-codedeploy.md)中设置的同一用户登录。

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

   

1. 选择**创建应用程序**，然后选择**自定义应用程序**。

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

1. 在 **Compute Platform（计算平台）**中，选择 **EC2/On-premises（EC2/本地）**。

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

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

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

1. 在**服务角色**中，选择您在为其创建 CodeDeploy 服务角色中[创建的服务角色的](getting-started-create-service-role.md)名称 CodeDeploy。

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

1. 在**环境配置**中，根据您使用的实例的类型，选择 **Amazon EC2 实例**或**本地实例**。对于**键**和**值**，根据[步骤 4：预置实例](tutorials-github-provision-instance.md)的介绍输入应用于您的实例的实例标签键和值。

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

1. 在**负载均衡器**中，清除**启用负载均衡**。

1. 展开**高级**。

1. 在**警报**中，选择**忽略警报配置**。

1. 选择**创建部署组**，然后继续下一步。

## 创建应用程序和部署组（CLI）
<a name="tutorials-github-create-application-cli"></a>

1. 调用 **create-application** 命令以在 CodeDeploy 中创建一个名为 `CodeDeployGitHubDemo-App` 的应用程序：

   ```
   aws deploy create-application --application-name CodeDeployGitHubDemo-App
   ```

1. 调用 **create-deployment-group** 命令以创建一个名为 `CodeDeployGitHubDemo-DepGrp` 的部署组：
   + 如果您要部署到 Amazon EC2 实例，则*ec2-tag-key*是应用于您的亚马逊 EC2 实例的 Amazon EC2 实例标签密钥[步骤 4：预置实例](tutorials-github-provision-instance.md)。
   + 如果您要部署到 Amazon EC2 实例，*ec2-tag-value*则应用于您的亚马逊 EC2 实例的标签值是作为其中的一部分[步骤 4：预置实例](tutorials-github-provision-instance.md)。
   + 如果您要部署到本地实例，则*on-premises-tag-key*是作为本地实例的一部分应用于本地实例的本地实例标签密钥[步骤 4：预置实例](tutorials-github-provision-instance.md)。
   + 如果您要部署到本地实例，则*on-premises-tag-value*是作为本地实例的一部分应用于本地实例的本地实例标签值[步骤 4：预置实例](tutorials-github-provision-instance.md)。
   + *service-role-arn*是您在为其创建服务角色中[创建的服务角色的服务角色](getting-started-create-service-role.md) ARN。 CodeDeploy（按照[获取服务角色 ARN（CLI）](getting-started-create-service-role.md#getting-started-get-service-role-cli)中的说明执行操作可查找服务角色 ARN。）

   ```
   aws deploy create-deployment-group --application-name CodeDeployGitHubDemo-App --ec2-tag-filters Key=ec2-tag-key,Type=KEY_AND_VALUE,Value=ec2-tag-value --on-premises-tag-filters Key=on-premises-tag-key,Type=KEY_AND_VALUE,Value=on-premises-tag-value --deployment-group-name CodeDeployGitHubDemo-DepGrp --service-role-arn service-role-arn
   ```
**注意**  
该[create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)命令支持创建触发器，从而向主题订阅者发送有关部署和实例中指定事件的 Amazon SNS 通知。该命令还支持自动回滚部署和设置警报以在满足 Amazon CloudWatch 警报中的监控阈值时停止部署的选项。本教程中不包含用于这些操作的命令。