CodePipeline 使用案例 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

CodePipeline 使用案例

以下各节介绍了 CodePipeline 的使用案例。

CodePipeline 的使用场景

您可以创建与其他 Amazon Web Services 服务 集成的管道。它们可以是 Amazon Web Services 服务,如 Amazon S3,也可以是第三方产品,如 GitHub。此部分提供了一些示例,用于说明在采用不同产品集成的情况下,如何使用 CodePipeline 自动执行代码发布。如需完整列出按照操作类型整理的与 CodePipeline 的集成,请参阅CodePipeline 管道结构参考

CodePipeline 与 Amazon S3、Amazon CodeCommit 和 Amazon CodeDeploy 一起使用

当您创建管道时,Amazon 会与在管道的每个阶段充当操作提供程序的产品和服务相集成。当您在向导中选择阶段时,必须选择源阶段和至少一个生成或部署阶段。该向导将为您创建具有无法更改的默认名称的阶段。这些是在向导中设置完整的三阶段管道时创建的阶段名称:

  • 默认名称为“Source”的源操作阶段。

  • 默认名称为“Build”的生成操作阶段。

  • 默认名称为“Staging”的部署操作阶段。

您可以使用本指南中的教程创建管道并指定阶段:

  • 教程:创建一个简单的管道(S3 存储桶)中的步骤可帮助您使用向导创建具有两个默认阶段的管道:“Source”和“Staging”,其中您的 Amazon S3 存储库是源提供程序。此教程将创建一个管道,该管道使用 Amazon CodeDeploy 将一个示例应用程序从 Amazon S3 桶部署到运行 Amazon Linux 的 Amazon EC2 实例。

  • 教程:创建一个简单的管道(CodeCommit 存储库)中的步骤可帮助您使用向导创建一个具有“Source”阶段的管道,它使用您的 Amazon CodeCommit 存储库作为源提供程序。此教程将创建一个管道,该管道使用 Amazon CodeDeploy 将一个示例应用程序从 Amazon CodeCommit 存储库部署到运行 Amazon Linux 的 Amazon EC2 实例。

CodePipeline 与第三方操作提供程序(GitHub 和 Jenkins)一起使用

您可以创建与第三方产品(如 GitHub 和 Jenkins)集成的管道。教程:创建一个四阶段管道 中的步骤将向您演示如何创建一个管道,以便:

  • 从 GitHub 存储库中获取源代码,

  • 使用 Jenkins 生成和测试源代码,

  • 使用 Amazon CodeDeploy 将构建并经过测试的源代码部署到运行 Amazon Linux 或 Microsoft Windows Server 的 Amazon EC2 实例。

使用 CodePipeline 与 CodeBuild 一起编译、构建和测试代码

CodeBuild 是一项在云中的托管式构建服务,可让您在无需服务器或系统的情况下构建并测试代码。CodePipeline 与 CodeBuild 可一起使用,从而在每次源代码发生变更时,自动在整个管道中运行修订,实现持续交付软件构建版本。有关更多信息,请参阅将 CodePipeline 与 CodeBuild 结合使用来测试代码和运行构建任务

CodePipeline 与 Amazon ECS 一起用于将基于容器的应用程序持续交付到云

Amazon ECS 是一种容器管理服务,可让您将基于容器的应用程序部署到云中的 Amazon ECS 实例。CodePipeline 与 Amazon ECS 可一起使用,从而在每次源映像存储库发生变更时,自动在整个管道中运行修订,实现持续部署基于容器的应用程序。有关更多信息,请参阅教程:使用 CodePipeline 进行持续部署

CodePipeline 与 Elastic Beanstalk 一起用于向云中持续交付 Web 应用程序

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

CodePipeline 与 Amazon Lambda 一起用于持续交付基于 Lambda 的无服务器应用程序

您可以一起使用 Amazon Lambda 和 CodePipeline 以调用 Amazon Lambda 函数,如部署无服务器应用程序中所述。您还可以使用 Amazon Lambda 和 AWS CodeStar 创建一个用于部署无服务器应用程序的管道。

CodePipeline 与 Amazon CloudFormation 模板一起用于持续交付到云

您可以将 Amazon CloudFormation 与 CodePipeline 一起使用以实现持续交付和自动化。有关更多信息,请参阅使用 CodePipeline 进行持续交付。Amazon CloudFormation 还用于为在 AWS CodeStar 中创建的管道创建模板。