本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodePipeline 最佳实践和用例
以下各节描述了的最佳实践 CodePipeline。
的用例 CodePipeline
您可以创建与其他管道集成的管道 Amazon Web Services 服务。这些产品可以是 Amazon Web Services 服务 Amazon S3,也可以是第三方产品,例如 GitHub。本节提供了使用 CodePipeline 不同的产品集成自动发布代码的示例。有关按操作类型 CodePipeline 组织的集成的完整列表,请参阅CodePipeline 管道结构参考。
主题
- CodePipeline 与 Amazon S3 一起使用 Amazon CodeCommit,以及 Amazon CodeDeploy
- CodePipeline 与第三方操作提供者(GitHub和 Jenkins)一起使用
- CodePipeline 用于编译、生成和测试代码 CodeBuild
- CodePipeline 与 Amazon ECS 配合使用,将基于容器的应用程序持续交付到云端
- CodePipeline 与 Elastic Beanstalk 配合使用,可将 Web 应用程序持续交付到云端
- CodePipeline 与一起使用可 Amazon Lambda 持续交付基于 Lambda 和无服务器的应用程序
- CodePipeline 与 Amazon CloudFormation 模板一起使用,持续交付到云端
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。