CodePipeline 最佳实践和用例 - AWS CodePipeline

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

CodePipeline 最佳实践和用例

以下各节描述了的最佳实践 CodePipeline。

的用例 CodePipeline

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

CodePipeline 与 Amazon S3 一起使用 AWS CodeCommit,以及 AWS CodeDeploy

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

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

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

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

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

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

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

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

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

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

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

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

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

CodePipeline 与 AWS CloudFormation 模板一起使用,持续交付到云端

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