

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

# CodePipeline 用例
<a name="best-practices"></a>

以下各节描述了的用例 CodePipeline。

**Topics**
+ [的用例 CodePipeline](#use-cases)

## 的用例 CodePipeline
<a name="use-cases"></a>

您可以创建与其他管道集成的管道 AWS 服务。这些产品可以是 AWS 服务 Amazon S3，也可以是第三方产品，例如 GitHub。本节提供了使用 CodePipeline 不同的产品集成自动发布代码的示例。有关按操作类型 CodePipeline 组织的集成的完整列表，请参阅[CodePipeline 管道结构参考](reference-pipeline-structure.md)。

**Topics**
+ [CodePipeline 与 Amazon S3 一起使用 AWS CodeCommit，以及 AWS CodeDeploy](#use-cases-S3-codedeploy)
+ [CodePipeline 与第三方操作提供者（GitHub 和 Jenkins）一起使用](#use-cases-thirdparty)
+ [CodePipeline 用于编译、生成和测试代码 CodeBuild](#use-cases-codebuild)
+ [CodePipeline 与 Amazon ECS 配合使用，将基于容器的应用程序持续交付到云端](#use-cases-ecs)
+ [CodePipeline 与 Elastic Beanstalk 配合使用，可将 Web 应用程序持续交付到云端](#use-cases-elasticbeanstalk)
+ [CodePipeline 与一起使用可 AWS Lambda 持续交付基于 Lambda 和无服务器的应用程序](#use-cases-lambda)
+ [CodePipeline 与 CloudFormation 模板一起使用，持续交付到云端](#use-cases-cloudformation)

### CodePipeline 与 Amazon S3 一起使用 AWS CodeCommit，以及 AWS CodeDeploy
<a name="use-cases-S3-codedeploy"></a>

创建管道时，与 AWS 产品和服务 CodePipeline 集成，这些产品和服务在管道的每个阶段都充当操作提供者。当您在向导中选择阶段时，必须选择源阶段和至少一个生成或部署阶段。该向导将为您创建具有无法更改的默认名称的阶段。这些是在向导中设置完整的三阶段管道时创建的阶段名称：
+ 默认名称为“Source”的源操作阶段。
+ 默认名称为“Build”的生成操作阶段。
+ 默认名称为“Staging”的部署操作阶段。

您可以使用本指南中的教程创建管道并指定阶段：
+ [教程：创建一个简单的管道（S3 存储桶）](tutorials-simple-s3.md)中的步骤可帮助您使用向导创建具有两个默认阶段的管道：“Source”和“Staging”，其中您的 Amazon S3 存储库是源提供程序。本教程创建了一个管道，用于 AWS CodeDeploy 将示例应用程序从 Amazon S3 存储桶部署到运行 Amazon Linux 的 Amazon EC2 实例。
+ 中的步骤[教程：创建简单的管道（CodeCommit 存储库）](tutorials-simple-codecommit.md)可帮助您使用向导创建带有 “源” 阶段的管道，该阶段使用您的 AWS CodeCommit 存储库作为源提供程序。本教程创建了一个管道，用于 AWS CodeDeploy 将示例应用程序从 AWS CodeCommit 存储库部署到运行 Amazon Linux 的 Amazon EC2 实例。

### CodePipeline 与第三方操作提供者（GitHub 和 Jenkins）一起使用
<a name="use-cases-thirdparty"></a>

您可以创建与第三方产品（例如 GitHub 和 Jenkins）集成的管道。[教程：创建一个四阶段管道](tutorials-four-stage-pipeline.md) 中的步骤将向您演示如何创建一个管道，以便：
+ 从 GitHub 存储库中获取源代码，
+ 使用 Jenkins 生成和测试源代码，
+ 用于 AWS CodeDeploy 将构建和测试的源代码部署到运行亚马逊 Linux 或微软 Windows Server 的亚马逊 EC2 实例。

### CodePipeline 用于编译、生成和测试代码 CodeBuild
<a name="use-cases-codebuild"></a>

CodeBuild 是云端的托管生成服务，允许您在没有服务器或系统的情况下生成和测试代码。 CodePipeline CodeBuild 与配合使用可自动通过管道运行修订，以便在源代码发生变化时持续交付软件版本。 有关更多信息，请参阅[ CodePipeline 与一起使用 CodeBuild 来测试代码和运行构建](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html)。

### CodePipeline 与 Amazon ECS 配合使用，将基于容器的应用程序持续交付到云端
<a name="use-cases-ecs"></a>

Amazon ECS 是一种容器管理服务，可让您将基于容器的应用程序部署到云中的 Amazon ECS 实例。 CodePipeline 与 Amazon ECS 配合使用，可通过管道自动运行修订，以便在源映像存储库发生变化时持续部署基于容器的应用程序。有关更多信息，请参阅[教程：使用 CodePipeline 进行持续部署](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html)。

### CodePipeline 与 Elastic Beanstalk 配合使用，可将 Web 应用程序持续交付到云端
<a name="use-cases-elasticbeanstalk"></a>

Elastic Beanstalk 是一项计算服务，可让您将 Web 应用程序和服务部署到 Web 服务器。 CodePipeline 与 Elastic Beanstalk 配合使用，可将 Web 应用程序持续部署到您的应用程序环境中。您还可以使用 AWS CodeStar 创建带有 Elastic Beanstalk 部署操作的管道。

### CodePipeline 与一起使用可 AWS Lambda 持续交付基于 Lambda 和无服务器的应用程序
<a name="use-cases-lambda"></a>

您可以使用 AWS Lambda 和来调 CodePipeline 用 AWS Lambda 函数，如[部署无服务器](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html)应用程序中所述。您还可以使用 AWS Lambda 和 AWS CodeStar 来创建用于部署无服务器应用程序的管道。

### CodePipeline 与 CloudFormation 模板一起使用，持续交付到云端
<a name="use-cases-cloudformation"></a>

您可以 CloudFormation 与一起使用 CodePipeline 以实现持续交付和自动化。有关更多信息，请参阅使用[持续交付 CodePipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline.html)。 CloudFormation 还用于为中创建的管道创建模板 AWS CodeStar。