

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

# 创建 EC2/本地计算平台部署（CLI）
<a name="deployments-create-cli"></a>

要使用将修订版部署 AWS CLI 到 EC2/本地计算平台，请执行以下操作：

1. 在您准备好了实例之后，创建应用程序，然后推送修订，执行以下操作之一：
   + 如果您希望从 Amazon S3 存储桶部署修订，请立即继续执行步骤 2。
   + 如果要从 GitHub 存储库部署修订，请先完成中的步骤[将 CodeDeploy 应用程序连接到存储 GitHub 库](deployments-create-cli-github.md)，然后继续执行步骤 2。

1. 调用 [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) 命令，并指定：
   + `--application-name`：应用程序名称。要查看应用程序名称的列表，请调用 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。
   + `--deployment-group-name`：Amazon EC2 部署组的名称。要查看部署组名称的列表，请调用 [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html) 命令。
   + `--revision`：有关要部署的修订的信息：

     对于存储在 Amazon S3 中的修订：
     + `s3Location`：包含修订的 Amazon S3 存储桶名称。
     + `s3Location --> key`：已上传修订的名称。
     + `s3Location --> bundleType`：已上传修订的文件类型。
**注意**  
Windows Server 实例不支持 tar 和压缩的 tar 存档文件格式（.tar 和.tar.gz）。
     + `s3Location --> version`：（可选）修订的 Amazon S3 版本标识符。（如果未指定版本标识符，则 CodeDeploy 使用最新版本。）
     + `s3Location --> eTag`:（可选） ETag 适用于修订版。（如果未指定，则 CodeDeploy 跳过对象验证。） ETag 

     对于存储在 GitHub以下位置的修订版本：
     + `gitHubLocation --> repository`：分配给包含修订的存储库的 GitHub 用户名或组名，后跟正斜杠 (`/`)，后跟存储库名称。
     + `gitHubLocation --> commitId`：修订的提交 ID。
   + `--deployment-config-name`：（可选）要使用的部署配置的名称。要查看部署配置的列表，请调用 [list-deployment-configs](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-configs.html) 命令。（如果未指定，则 CodeDeploy 使用特定的默认部署配置。）
   + `--ignore-application-stop-failures | --no-ignore-application-stop-failures`：（可选）您是否希望当 `ApplicationStop` 部署生命周期事件失败时，实例的部署仍继续 `BeforeInstall` 部署生命周期事件。
   + `--description`：（可选）部署的说明。
   + `--file-exists-behavior`:（可选）作为部署过程的一部分， CodeDeploy 代理会从每个实例中删除最新部署安装的所有文件。选择当不属于先前部署的文件出现在目标部署位置时会发生什么。
   + `--target-instances`：对于 blue/green 部署，有关 blue/green 部署中属于替换环境的实例的信息，包括一个或多个 Amazon EC2 Auto Scaling 组的名称，或者用于识别 Amazon EC2 实例的标签筛选密钥、类型和值。

**注意**  
在 **create-deployment** 调用中使用此语法，可直接在命令行上指定有关 Amazon S3 中修订的信息。（`version` 和 `eTag` 可选。）  

```
--s3-location bucket=string,key=string,bundleType=tar|tgz|zip,version=string,eTag=string
```
使用以下语法作为**create-deployment**调用的一部分， GitHub 直接在命令行中指定有关修订的信息：  

```
--github-location repository=string,commitId=string
```
要获取有关已推送修订的信息，请调用 [list-application-revisions](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-application-revisions.html) 命令。

要跟踪部署的状态，请参阅[查看 CodeDeploy 部署详情](deployments-view-details.md)。

## create-deployment 命令参考
<a name="deployments-create-cli-reference"></a>

以下是 `create-deployment` 命令的命令结构和选项。有关更多信息，请参阅《AWS CLI 命令参考》**中的 [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) 参考。

```
create-deployment
--application-name <value>
[--deployment-group-name <value>]
[--revision <value>]
[--deployment-config-name <value>]
[--description <value>]
[--ignore-application-stop-failures | --no-ignore-application-stop-failures]
[--target-instances <value>]
[--auto-rollback-configuration <value>]
[--update-outdated-instances-only | --no-update-outdated-instances-only]
[--file-exists-behavior <value>]
[--s3-location <value>]
[--github-location <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

# 将 CodeDeploy 应用程序连接到存储 GitHub 库
<a name="deployments-create-cli-github"></a>

在首次使用 GitHub 存储库部署应用程序之前 AWS CLI，必须先授予代表您的 GitHub 账户与 GitHub 之交互的 CodeDeploy 权限。必须使用 CodeDeploy 控制台为每个应用程序完成一次此步骤。

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

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

1. 从**应用程序**中，选择要关联到 GitHub 用户帐户的应用程序，然后选择**部署应用程序**。
**注意**  
您没有创建部署。目前，这是授予代表您的 GitHub用户帐户进行交互 GitHub 的 CodeDeploy 权限的唯一途径。

1. 在 “**存储库类型**” 旁边，选择 “**我的应用程序修订存储在” 中 GitHub**。

1. 选择 “**连接到” GitHub**。
**注意**  
如果你看到 “**Connect to 其他 GitHub账号**” 链接：  
您可能已经授权 CodeDeploy GitHub 代表该应用程序的另一个 GitHub 账户与之交互。  
您可能已经撤销了 GitHub代表登录 GitHub 账户与中关联的所有应用程序进行交互的授权。 CodeDeploy CodeDeploy  
有关更多信息，请参阅 [GitHub 使用中的应用程序进行身份验证 CodeDeploy](integrations-partners-github.md#behaviors-authentication)。

1. 如果您尚未登录 GitHub，请按照 “**登录**” 页面上的说明进行操作。

1. 在 **Authorize application** 页上，选择 **Authorize application**。

1. 现在 CodeDeploy 已获得权限，请选择 “**取消**”，然后继续执行中的步骤[创建 EC2/本地计算平台部署（CLI）](deployments-create-cli.md)。