开始免费使用 AWS

创建免费账户

获得 12 个月的 AWS 免费套餐,同时享受 AWS 的基本支持功能,包括 24x7x365 客户服务、支持论坛及更多。

查看 AWS 免费套餐详细信息 »


问:什么是 AWS CodePipeline?
AWS CodePipeline 是持续交付服务,使您能够建模、可视化并自动化发布您的软件所需的步骤。凭借 AWS CodePipeline,您可以对构建代码、部署到预生产环境、测试应用程序和以及将它发布到生产的整个发布流程进行建模。然后,每次存在代码更改时,AWS CodePipeline 根据定义的工作流程构建、测试并部署您的应用程序。您可以将合作伙伴工具和自己的自定义工具集成到发布过程的任何阶段,以形成端到端持续交付解决方案。

问:为何我应该使用 AWS CodePipeline?
通过自动化构建、测试和发布流程,AWS CodePipeline 可让您通过让所有新更改运行一整套一致的质量检查提高您的软件更新的速度和质量。

问:持续交付是什么?
持续交付是一种软件开发做法。按照此做法,代码变更会自动经过构建和测试,并为发布到生产环境做好准备。AWS CodePipeline 是一项可帮助您实施持续交付的服务。在此处了解有关持续交付的更多信息。

下图表示本节讨论的概念。

CodePipeline_Elements

问:什么是管道?
管道指工作流程结构,介绍软件更改如何经过发布过程。您通过一系列阶段和操作定义工作流程。

问:什么是修订?
修订版指对针对您的管道定义的源位置进行的更改。它可以包括源代码、构建输出、配置或数据。管道同一时间可以有多个版本经过。

问:什么是阶段?
阶段指一个或多个操作的组。管道可以具有两个或更多个阶段。

问:什么是操作?
操作指对修订版执行的任务。管道操作以特定顺序、以串行或并行发生,具体在该阶段的配置中确定。有关更多信息,请参阅编辑管道 AWS CodePipeline 中的操作架构要求

问:什么是项目?
运行操作时,它作用于一个文件或文件集。这些文件称为项目。这些项目可以由管道中的后期操作进行处理。例如,源操作将该代码的最新版本输出为源项目,而构建操作将读入它。编译后,构建操作将构建输出上传为另一个项目,其将由后面的部署操作读取。

问:什么是转换?
管道中的阶段由过渡进行连接,并且由 AWS CodePipeline 控制台中的箭头表示。某个阶段中成功完成操作的修订版将自动发送到下一阶段,具体如过渡箭头所示。过渡可以在各个阶段之间禁用或启用。

 

 

问:如何开始使用 AWS CodePipeline?
您可以登录到 AWS Management Console,创建管道,并开始使用该服务。如果您需要初步了解 AWS CodePipeline,请参阅入门,其中含有分步教程。或者,您也可以参阅 Pipeline Starter Kit,以便使用 AWS CloudFormation 模板来快速预置一个带有 Jenkins 构建服务器的预配置发布管道。

问:如何启动管道?
创建管道后,它将自动触发运行以发布您的源代码的最新版本。自此,每次您对源位置作出更改时就会触发新运行。此外,您可以使用管道控制台中的发布更改按钮通过管道重新运行最新的修订版。

问:如何停止管道?
要停止管道,您可以禁用从一个阶段到另一个阶段的过渡。一旦禁用,您的管道将继续通过操作运行修订版,但不会通过已禁用的过渡将修订版推广到随后阶段。有关更多详细信息,请参阅在 AWS CodePipeline 中禁用或启用过渡。

问:能否编辑现有管道?
可以。您可以使用 AWS CodePipeline 控制台或 AWS CLI 来添加或删除管道中的阶段,以及添加、编辑或删除某个阶段中的操作。

问:能否创建现有管道的副本?
可以。您可以使用 get-pipeline AWS CLI 命令来获取现有管道的 JSON 结构。然后,您可以使用 JSON 和 create-pipeline AWS CLI 命令来创建与现有管道具有相同结构的新管道。

问:操作是否可以并行运行?
可以。对于任何给定阶段,您可以配置并行运行的一个或多个操作。

问:我该如何练习持续交付无服务器应用程序和 AWS Lambda 函数?
通过将 AWS Serverless Application Model 模板及其相应文件添加到源代码存储库中,即可发布无服务器应用程序的更新。您可以在管道中使用 AWS CodeBuild 将代码打包,以便进行部署。接着,您可以使用 AWS CloudFormation 操作来创建一个更改集,然后部署您的无服务器应用程序。您可以选择通过手动批准或自动测试等额外步骤来扩展工作流。单击此处了解更多。

问:我该如何通过发布工作流流程预置和管理 AWS 资源?
借助 AWS CodePipeline 和 AWS CloudFormation,您可以使用持续交付来自动构建和测试对 AWS CloudFormation 堆栈所做的更改,然后再将其提升到生产堆栈。利用此发布流程,您可以快速可靠地对 AWS 基础设施进行更改。您可以通过手动批准、测试操作或调用 AWS Lambda 操作等其他操作来扩展工作流。有关更多信息,请参阅通过 AWS CloudFormation 实现持续交付页面。

问:AWS CodePipeline 具有哪些产品集成?
AWS CodePipeline 集成了多项 AWS 服务,如 AWS CodeCommit、Amazon S3、AWS CodeBuild、AWS CodeDeploy、AWS Elastic Beanstalk、AWS CloudFormation、AWS OpsWorks 和 AWS Lambda。此外,AWS CodePipeline 还集成有各种合作伙伴工具。有关详细信息,请参阅产品集成页面。最后,您可以编写自己的自定义操作并将任何现有工具与 CodePipeline 集成。有关自定义操作的更多详细信息,请参阅在 AWS CodePipeline 中创建并添加自定义操作页面。

问:我能否获取 AWS CodePipeline API 调用的历史?
可以。要获得针对安全性分析和操作故障排除目的而从您的账户发起的 AWS CodePipeline API 调用的历史记录,您只需在 AWS 管理控制台中打开 AWS CloudTrail 即可。有关更多信息,请参阅通过使用 AWS CloudTrail 记录 AWS CodePipeline API 调用

问:使用 AWS CodePipeline 时有哪些服务限制?
有关服务限制的更多信息,请参阅限制

问:与 AWS CodePipeline 集成我需要做什么?
如果您有兴趣成为将您的开发人员服务与 AWS CodePipeline 集成的 AWS 合作伙伴,请联系 codepipeline-request@amazon.com

问:是否可以使用 AWS Identity and Access Management (IAM) 来管理 AWS CodePipeline 的访问权限?
可以。AWS CodePipeline 支持资源级权限。您可以在管道上指定哪个用户可以执行什么操作。例如,如果您希望用户看到管道状态而不能修改管道,则您可以向他们提供对管道的只读访问权限。您还可以设置管道内的任何阶段或操作的权限。有关将 IAM 用于 AWS CodePipeline 的更多信息,请参阅访问权限参考

问:我能否使一个 AWS 帐户中的管道由另一个 AWS 帐户中的 IAM 用户访问?
可以。您可以在拥有该管道的 AWS 帐户中创建 IAM 角色以将对该管道和任何相关资源的访问权限委派到另一个帐户中的 IAM 用户。有关启用这种跨账户访问的演练,请参阅演练:使用 IAM 角色在您拥有的帐户的 AWS 帐户间委派访问权限对管道配置跨账户访问

问:AWS CodePipeline 支持哪些区域?
请参阅区域性产品和服务,了解 CodePipeline 在不同区域的具体提供情况。

问:AWS CodePipeline 的费用是多少?
有关 AWS CodePipeline 的费用的详细信息,请参阅定价页面