Amazon CodePipeline 是一项持续集成与持续交付服务,可实现快速而可靠的应用程序及基础设施更新。您可以利用 CodePipeline 进行完整建模,并自动化您的软件发布流程。
工作流建模
管道会定义您的发布流程工作流,并描述新的代码变更将如何在您的发布流程中取得进展。管道包含一系列阶段(如构建、测试和部署),它们将在您的工作流中发挥逻辑划分的作用。每个阶段都由一连串操作组成,例如构建代码、部署到测试环境等任务。Amazon CodePipeline 为您提供图形用户界面,以创建、配置与管理您的管道、它的不同阶段和操作,允许您轻松地为您的发布流程工作流进行可视化与建模。
并行执行
您可以使用 CodePipeline 对您的构建、测试和部署操作进行建模,使其能够并行运行,从而加快您的工作流的速度。
亚马逊云科技集成
Amazon CodePipeline 可以直接从 Amazon CodeCommit、Amazon ECR 或 Amazon S3 为您的管道拉取源代码。它可以在 Amazon CodeBuild 中运行构建和单元测试。CodePipeline 可以通过使用 Amazon CodeDeploy、Amazon Elastic Beanstalk、Amazon Elastic Container Service (Amazon ECS) 或 Amazon Fargate 部署您的更改。
您可以对 Amazon CloudFormation 操作进行建模,使您可以预置、更新或删除亚马逊云科技资源,并将其作为您的发布流程的一部分。这还允许您持续地交付采用 Amazon Lambda、Amazon API Gateway、Amazon DynamoDB 以及 Amazon Serverless Application Model (SAM) 构建的无服务器应用程序。
您还可以在管道的任何阶段借助 CodePipeline 与 Amazon Lambda 的集成触发由代码定义的自定义函数。例如,您可以触发用于测试您的 Web 应用程序是否部署成功的 Lambda 函数。
CodePipeline 让您可以配置与这些服务关联的管道。
自定义插件
Amazon CodePipeline 允许您集成自己的自定义系统。您可以集成 CodePipeline 开源代理和您的服务器,进而注册允许您将服务器挂接到管道的自定义操作。您还可以使用 CodePipeline Jenkins 插件,以便轻松将现有的编译服务器注册为自定义操作。
声明性模板
Amazon CodePipeline 允许您通过声明性 JSON 文档来定义您的管道结构,该文档会指定您的发布工作流及其阶段和操作。这些模板让您可以更新现有的管道,并提供起始模板以创建新管道。
访问控制
Amazon CodePipeline 使用 Amazon IAM 来管理谁可以更改您的发布工作流,以及谁可以对其进行控制。您可以通过 IAM 用户、IAM 角色和 SAML 集成目录向用户授予访问权限。
接收通知
您可以为影响管道的事件创建通知。通知将采用 Amazon SNS 通知的形式。每个通知都包含状态消息,以及生成该通知的事件所属的资源的链接。