

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

# 选择 CodeDeploy 存储库类型
<a name="application-revisions-repository-type"></a>

CodeDeploy 需要的文件的存储位置称为“存储库”**。对存储库的使用取决于您的部署使用哪个计算平台。
+ **EC2/本地**：要将您的应用程序代码部署到一个或多个实例，必须将您的代码打包到一个存档文件，并将代码放置到 CodeDeploy 可在部署过程中访问它的存储库。您应将可部署内容和一个 AppSpec 文件打包到一个存档文件，然后将它上传到 CodeDeploy 支持的某个存储库类型。
+ **AWS Lambda** 和 **Amazon ECS**：部署需要 AppSpec 文件，在部署过程中可以通过下列方式之一访问它：
  +  从 Amazon S3 存储桶。
  +  从直接键入控制台中的 AppSpec 编辑器内的文本。有关更多信息，请参阅[创建 L AWS ambda 计算平台部署（控制台）](deployments-create-console-lambda.md)和[创建 Amazon ECS 计算平台部署（控制台）](deployments-create-console-ecs.md)。
  +  如果您使用 AWS CLI，则可以引用位于您的硬盘驱动器上或网络驱动器上的 AppSpec 文件。有关更多信息，请参阅[创建 L AWS ambda 计算平台部署 (CLI)](deployments-create-lambda-cli.md)和[创建 Amazon ECS 计算平台部署（CLI）](deployments-create-ecs-cli.md)。

CodeDeploy 当前支持以下存储库类型：


|  |  |  | 
| --- |--- |--- |
| 存储库类型 | 存储库详细信息 | 支持的计算平台 | 
| Amazon S3 () | [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)（Amazon S3）是 AWS 解决方案，用于安全、可扩展的对象存储。Amazon S3 将数据作为对象存储在存储桶 中。对象由文件和描述该文件的任何可选元数据组成。要将对象存储到 Amazon S3 中，请将文件上传到存储桶中。上传文件时，可以设置对象的权限和元数据。了解更多：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/application-revisions-repository-type.html) | 使用以下计算平台的部署可以将修订存储在 Amazon S3 存储桶中。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/application-revisions-repository-type.html) | 
| GitHub | 您可以将应用程序修订存储在 [GitHub](http://www.github.com) 存储库中。只要 GitHub 存储库中的源代码发生更改，您就可以触发源自该存储库的部署。了解更多：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/application-revisions-repository-type.html) | 只有 EC2/本地部署可以将修订存储在 GitHub 存储库中。 | 
| Bitbucket |  您可以使用 [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) 中的 [CodeDeploy 管道](https://bitbucket.org/product/features/pipelines/integrations?p=atlassian/aws-code-deploy)将代码部署到 EC2 实例的部署组。Bitbucket 管道提供持续集成和持续部署（CI/CD）功能，包括 [Bitbucket 部署](https://confluence.atlassian.com/bitbucket/bitbucket-deployments-940695276.html)。CodeDeploy 管道首先将构件推送到您指定的 S3 存储桶，然后从存储桶部署代码构件。 了解更多： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/application-revisions-repository-type.html)  | 只有 EC2/本地部署可以将修订存储在 BitBucket 存储库中。 | 

**注意**  
AWS Lambda 部署仅适用于 Amazon S3 存储库。