CodePipeline 使用案例 - AWS CodePipeline

CodePipeline 使用案例

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

CodePipeline 的使用场景

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 使用 AWS 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 与 AWS Lambda 一起用于持续交付基于 Lambda 的无服务器应用程序

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

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

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