管道定义您的发布工作流程,并介绍新的代码更改过程如何通过您的发布过程。管道包括一系列阶段(例如,构建、测试和部署),它作为您的工作流程中的逻辑分区。每个阶段由操作序列组成,如构建代码或部署到测试环境等任务。AWS CodePipeline 向您提供了创建、配置和管理您的管道的图形用户界面以及其各个阶段和操作,可让您轻松可视化和建模您的发布工作流程。
并行执行
您可以使用 CodePipeline 对要并行运行的构建、测试和部署操作建模,以提高您的工作流程速度。
AWS CodePipeline 可以直接从 AWS CodeCommit 或 Amazon S3 为您的管道提取源代码。它可在 AWS CodeBuild 中运行构建和单元测试。CodePipeline 可使用 AWS CodeDeploy、AWS Elastic Beanstalk 或 AWS OpsWorks 部署您的更改。
您还可以对 AWS CloudFormation 操作进行建模,从而在发布流程中预置、更新或删除 AWS 资源。如此一来,您还能持续交付使用 AWS Lambda、Amazon API Gateway、Amazon DynamoDB 和 AWS Serverless Application Model 构建的无服务器应用程序。
您也可以使用 CodePipeline 与 AWS Lambda 的集成,在管道的任意阶段触发由代码定义的自定义函数。例如,您可以触发一个测试您的 Web 应用程序是否成功部署的 Lambda 函数。
借助 CodePipeline,您可以配置一个将这些服务与第三方开发人员工具和自定义系统联系在一起的管道。
AWS CodePipeline 可让您通过单击将第三方开发人员工具(如 GitHub 或 Jenkins)集成到发布过程的任何阶段。您可以使用第三方工具进行源代码控制、构建、测试或部署。在此了解我们的集成的更多信息。
AWS CodePipeline 可让您集成自己的自定义系统。通过将 CodePipeline 开源代理与您的服务器集成,您可以注册自定义操作,以便将服务器挂钩到您的管道。您也可以使用 CodePipeline Jenkins 插件来将现有的构建服务器轻松注册为自定义操作。
通过指定您的发布工作流程及其阶段和操作的声明 JSON 文档,AWS CodePipeline 可让您定义您的管道结构。这些文档使您能够更新现有管道,以及提供创建新管道的开始模板。
AWS CodePipeline 使用 AWS IAM 来管理谁可以更改您的发布工作流程,以及谁可以控制它。您可以通过 IAM 用户、IAM 角色和 SAML 集成目录授予用户访问权限。