AWS CodePipeline 是一种持续交付服务,使您能够针对发布软件所需的步骤实施建模、可视化和自动化。借助 AWS CodePipeline,您可以设计包括构建代码、部署到预生产环境、测试应用程序以及将它发布到生产环境在内的整个发布流程。每次代码发生更改时,AWS CodePipeline 就会根据所定义的工作流程构建、测试并部署您的应用程序。您可以将合作伙伴工具和自己的自定义工具集成到发布过程的任何阶段,以形成端到端持续交付解决方案。
通过实现构建、测试和发布流程的自动化,AWS CodePipeline 让您能够通过一组一致的质量检查措施来检查所有的新更改,从而提高软件更新的速度和质量。
持续交付是一种软件开发实践。通过持续交付,系统可以自动构建和测试代码更改,并为将其发布到生产环境做好准备。AWS CodePipeline 是一项可帮助您实施持续交付的服务。在此处了解有关持续交付的更多信息。
管道是一个表示软件更改如何经历一个发布过程的工作流程结构。您通过一系列阶段和操作定义工作流程。
修订指针对为管道定义的源位置做出的更改。它可以包括源代码、构建输出、配置或数据。管道同一时间可以有多个版本经过。
阶段指一个或多个操作的组。管道可以具有两个或更多个阶段。
操作指对修订版执行的任务。管道操作以特定顺序、以串行或并行方式发生,具体在阶段的配置中确定。有关更多信息,请参阅编辑管道和 AWS CodePipeline 中的操作结构要求。
运行操作时,它作用于一个文件或文件集。这些文件称为项目。这些项目可以由管道中的后期操作进行处理。例如,源操作将该代码的最新版本输出为源项目,而构建操作将读入它。编译后,构建操作将构建输出上传为另一个项目,其将由后面的部署操作读取。
管道中的阶段由过渡进行连接,由 AWS CodePipeline 控制台中的箭头表示。在某个阶段中成功完成操作的修订版将自动发送到下一个阶段,如过渡箭头所示。过渡可以在各个阶段之间禁用或启用。
创建管道后,它将自动触发运行以发布您的源代码的最新版本。自此,每次您对源位置作出更改时就会触发新运行。此外,您可以使用管道控制台中的发布更改按钮通过管道重新运行最新的修订版。
要停止管道,您可以禁用从一个阶段到另一个阶段的过渡。一旦禁用,您的管道将继续通过操作运行修订版,但不会通过已禁用的过渡将修订版推进到随后阶段。有关更多详细信息,请参阅在 AWS CodePipeline 中禁用或启用过渡。
符合。您可以使用 AWS CodePipeline 控制台或 AWS CLI 来添加或删除管道中的阶段,以及添加、编辑或删除某个阶段中的操作。
符合。您可以使用 get-pipeline AWS CLI 命令来获取现有管道的 JSON 结构。然后,您可以使用 JSON 和 create-pipeline AWS CLI 命令来创建与现有管道具有相同结构的新管道。
符合。对于任何给定阶段,您可以配置并行运行的一个或多个操作。
将 AWS Serverless Application Model 模板及其相应文件添加到源代码存储库中后,即可发布无服务器应用程序的更新。您可以在管道中使用 AWS CodeBuild 将代码打包,以便进行部署。接着,您可以使用 AWS CloudFormation 操作创建一个更改集,然后部署您的无服务器应用程序。您可以选择通过手动批准或自动测试等附加步骤来扩展工作流。单击此处了解更多信息。
借助 AWS CodePipeline 和 AWS CloudFormation,您可以使用持续交付来自动构建和测试对 AWS CloudFormation 堆栈所做的更改,然后再将它们提升到生产堆栈。通过此发布流程,您可以快速可靠地对 AWS 基础设施进行更改。您可以通过手动批准、测试操作或调用 AWS Lambda 操作等附加操作来扩展工作流。有关更多信息,请参阅通过 AWS CloudFormation 实现持续交付页面。
AWS CodePipeline 集成了多项 AWS 服务,例如 AWS CodeCommit、Amazon S3、AWS CodeBuild、AWS CodeDeploy、AWS Elastic Beanstalk、AWS CloudFormation、AWS OpsWorks、Amazon ECS 和 AWS Lambda。此外,AWS CodePipeline 还集成有各种合作伙伴工具。有关详细信息,请参阅产品集成页面。最后,您可以编写自己的自定义操作并将任何现有工具与 CodePipeline 集成。有关自定义操作的更多详细信息,请参阅在 AWS CodePipeline 中创建并添加自定义操作页面。
符合。要获得出于安全性分析和操作故障排除目的而从您的账户发起的 AWS CodePipeline API 调用的历史记录,您只需在 AWS 管理控制台中打开 AWS CloudTrail 即可。有关更多信息,请参阅通过使用 AWS CloudTrail 记录 AWS CodePipeline API 调用。
有关服务限制的更多信息,请参阅限制。
您可以针对影响您的管道的事件创建通知。通知将以 Amazon SNS 通知的形式发出。每个通知将包括状态消息以及指向其事件生成该通知的资源的链接。通知没有额外成本;但您可能需要为通知使用的其他 AWS 服务付费,例如 Amazon SNS。要了解如何开始使用通知,请参阅通知用户指南。此外,使用 AWS Chatbot 的客户可以将通知配置为发送到其 Slack 通道或 Amazon Chime 聊天室。有关更多详情,请单击此处。
如果您有兴趣成为将您的开发人员服务与 AWS CodePipeline 集成的 AWS 合作伙伴,请联系 codepipeline-request@amazon.com。
符合。您可以在拥有该管道的 AWS 账户中创建 IAM 角色以将对该管道和任何相关资源的访问权限委派到另一个账户中的 IAM 用户。有关启用这种跨账户访问的演练,请参阅演练:授权使用 IAM 角色在您拥有的多个 AWS 账户间进行跨账户访问和对管道配置跨账户访问。
请参阅区域性产品和服务,了解 CodePipeline 在不同区域的具体提供情况。
有关 AWS CodePipeline 的费用详情,请参阅定价页面。