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 中创建的管道创建模板。