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 产品和服务 CodePipeline 集成,这些产品和服务在管道的每个阶段都充当操作提供者。当您在向导中选择阶段时,必须选择源阶段和至少一个生成或部署阶段。该向导将为您创建具有无法更改的默认名称的阶段。这些是在向导中设置完整的三阶段管道时创建的阶段名称:

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

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

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

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

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

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

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

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

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

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

  • 用于 Amazon CodeDeploy 将构建和测试的源代码部署到运行亚马逊 Linux 或微软 Windows Server 的亚马逊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。