与动 CodePipeline 作类型的集成 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与动 CodePipeline 作类型的集成

本主题中的集成信息按 CodePipeline 操作类型组织。

源操作集成

以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下源操作提供程序集成。

Amazon ECR 源操作

Amazon ECR 是一项 Amazon Docker 镜像存储库服务。使用 Docker 推送和拉取命令将 Docker 映像上传到您的存储库。Amazon ECR 存储库 URI 和映像在 Amazon ECS 任务定义中用于引用源映像信息。

了解更多:

Amazon S3 源操作

Amazon S3 是一种面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以配置 CodePipeline 为使用受版本控制的 Amazon S3 存储桶作为代码的源操作。

注意

Amazon S3 也可以作为部署操作包含在管道中。

了解更多:

与 Bitbucket Cloud GitHub(版本 2)、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的连接

连接(CodeStarSourceConnection操作)用于访问您的第三方 Bitbucket Cloud、 GitHub E GitHub nterprise Server、 GitLab .com 或 GitLab自我管理的存储库。

注意

连接 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

Bitbucket Cloud

您可以配置 CodePipeline 为使用 Bitbucket Cloud 存储库作为代码的来源。您必须事先创建一个 Bitbucket 账户和至少一个 Bitbucket Cloud 存储库。您可以通过创建管道或编辑现有管道,为 Bitbucket Cloud 存储库添加一个源操作。

注意

您可以创建到 Bitbucket Cloud 存储库的连接。不支持已安装的 Bitbucket 提供程序类型(如 Bitbucket 服务器)。

您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 Amazon CodeStar 应用程序,然后将其与您的连接关联。

对于 Bitbucket Cloud,请使用控制台中的 Bitbucket 选项或 CLI 中的 CodestarSourceConnection 操作。请参阅 Bitbucket Cloud 连接

您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。

了解更多:

GitHub 或 GitHub 企业云

您可以配置 CodePipeline 为使用 GitHub 存储库作为代码的源。您之前必须创建过一个 GitHub 账户和至少一个 GitHub存储库。您可以通过创建管道或编辑现有管道来为 GitHub 仓库添加源操作。

您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。

使用控制台中的 GitHub (版本 2)提供程序选项或 CLI 中的CodestarSourceConnection操作。请参阅 GitHub 连接

您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。

了解更多:

GitHub 企业服务器

您可以配置 CodePipeline 为使用 GitHub 企业服务器存储库作为代码的源。您之前必须创建过一个 GitHub 账户和至少一个 GitHub 存储库。您可以通过创建管道或编辑现有管道来为 E GitHub nterprise Server 存储库添加源操作。

您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。

使用控制台中的GitHub 企业服务器提供者选项或 CLI 中的CodestarSourceConnection操作。请参阅 GitHub 企业服务器连接

重要

Amazon CodeStar 由于版本中存在已知问题,Connections 不支持 GitHub 企业服务器版本 2.22.0。要执行连接,请升级到版本 2.22.1 或最新的可用版本。

您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。

了解更多:

GitLab.com

您可以配置 CodePipeline 为使用 GitLab .com 存储库作为代码的源。您之前必须创建过 GitLab .com 账户和至少一个 GitLab .com 存储库。您可以通过创建管道或编辑现有管道来为 GitLab .com 存储库添加源操作。

使用控制台中的GitLab提供者选项或在 CLI 中使用GitLab提供程序的CodestarSourceConnection操作。请参阅 GitLab.com 连接

了解更多:

GitLab 自我管理

您可以配置 CodePipeline 为使用 GitLab 自行管理的安装作为代码的来源。您之前必须已创建 GitLab 帐户并订阅了自我管理 GitLab (企业版或社区版)。您可以通过创建管道或编辑现有 GitLab 管道来为自行管理的存储库添加源操作。

您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。

使用控制台中的GitLab 自我管理提供商选项或 CLI 中的CodestarSourceConnection操作。请参阅 用于 GitLab 自我管理的连接

您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。

了解更多:

CodeCommit 源操作

CodeCommit是一项版本控制服务,可用于在云端私下存储和管理资产(例如文档、源代码和二进制文件)。您可以配置 CodePipeline 为使用 CodeCommit 存储库中的分支作为代码的源。创建存储库并将其与本地计算机上的工作目录关联。然后,您可以在某个阶段的源操作中创建使用分支的管道。您可以通过创建管道或编辑现有管道来连接到 CodeCommit 存储库。

您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。

了解更多:

GitHub (版本 1)源操作

GitHub 版本 1 操作由 OAuth 应用程序管理。在可用区域中,您还可以在管道中使用CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理操作源操作来管理您的 GitHub Apps GitHub 源操作。如果您的管道使用 GitHub 版本 1 操作,请参阅中更新该管道以使用 GitHub 版本 2 操作的步骤将 GitHub 版本 1 的源操作更新为 GitHub 版本 2 的源操作

注意: GitHub版本 1 的 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

注意

虽然我们不建议使用 GitHub 版本 1 操作,但具有 GitHub 版本 1 操作的现有管道将继续运行而不会产生任何影响。

了解更多:

生成操作集成

以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下构建操作提供程序集成。

CodeBuild 生成操作

CodeBuild是一项完全托管的生成服务,它可以编译源代码、运行单元测试并生成可随时部署的工件。

您可以将生成操作 CodeBuild 作为生成操作添加到管道的生成阶段。有关更多信息,请参阅《 CodePipeline 操作配置参考》Amazon CodeBuild

注意

CodeBuild 也可以作为测试操作包含在管道中,带或不带生成输出。

了解更多:

CloudBees 生成操作

您可以配置 CodePipeline CloudBees为使用在管道中的一个或多个操作中生成或测试代码。

了解更多:

Jenkins 构建操作

您可以配置 CodePipeline 为使用 Jenkins CI 在管道中的一个或多个操作中生成或测试代码。您之前必须已创建一个 Jenkins 项目,并为该项目安装和配置了 Jenkins CodePipeline 插件。您可以通过创建新管道或编辑现有管道来连接到 Jenkins 项目。

Jenkins 的访问权限应按项目来配置。你必须在你想要使用的每个 Jenkins 实例上安装适用于 Jenkins 的 CodePipeline 插件。 CodePipeline您还必须配置 CodePipeline 对 Jenkins 项目的访问权限。通过将 Jenkins 项目配置为仅接受 HTTPS/SSL 连接来保护您的 Jenkins 项目。如果您的 Jenkins 项目安装在 Amazon EC2 实例上,请考虑通过 Amazon CLI 在每个实例上安装来提供您的 Amazon 证书。然后,使用您要用于连接的凭据在这些实例上 Amazon 配置配置文件。这是通过 Jenkins Web 界面添加和存储它们的替代方法。

了解更多:

TeamCity 生成操作

您可以配置 CodePipeline TeamCity为使用在管道中的一个或多个操作中生成和测试代码。

了解更多:

测试操作集成

以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下测试操作提供程序集成。

CodeBuild 测试动作

CodeBuild是云端完全托管的生成服务。 CodeBuild 编译您的源代码,运行单元测试,并生成随时可以部署的工件。

您可以作为测试操作 CodeBuild 添加到管道中。有关更多信息,请参阅《 CodePipeline操作配置参考》Amazon CodeBuild

注意

CodeBuild 也可以作为生成操作包含在管道中,并带有必需的生成输出工件。

了解更多:

Amazon Device Farm 测试动作

Amazon Device Farm 是一项应用程序测试服务,您可以用它在实际物理手机和平板电脑上测试您的 Android、iOS 和 Web 应用程序并与其交互。您可以配置 CodePipeline Amazon Device Farm 为用于在管道中的一个或多个操作中测试您的代码。 Amazon Device Farm 允许您上传自己的测试或使用内置的、无脚本的兼容性测试。由于测试是并行执行的,因此多个设备上的测试将在几分钟内开始。包含高级结果、低级日志、 pixel-to-pixel 屏幕截图和性能数据的测试报告将在测试完成后更新。 Amazon Device Farm 支持测试原生和混合安卓、iOS 和 Fire OS 应用程序,包括使用 Titanium PhoneGap、Xamarin、Unity 和其他框架创建的应用程序。它支持 Android 应用程序的远程访问,使您可以直接与测试设备交互。

了解更多:

注意:Device Farm 的 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

Ghost Inspector 测试操作

您可以配置 CodePipeline 为使用 Ghost Inspec tor 在管道中的一个或多个操作中测试您的代码。

了解更多:

OpenText LoadRunner 云端测试操作

您可以配置 CodePipeline 为在管道中的一个或多个操作中使用 OpenText LoadRunner Cloud

了解更多:

部署操作集成

以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下部署操作提供程序集成。

Amazon S3 部署操作

Amazon S3 是一种面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以向使用 Amazon S3 作为部署提供程序的管道添加操作。

注意

Amazon S3 也可以作为源操作包含在管道中。

了解更多:

Amazon AppConfig 部署动作

Amazon AppConfig 是一种创建、管理和快速部署应用程序配置的功能。 Amazon Systems Manager 您可以 AppConfig 与 EC2 实例上托管的应用程序、容器 Amazon Lambda、移动应用程序或 IoT 设备一起使用。

了解更多:

Amazon CloudFormation 部署动作

Amazon CloudFormation为开发人员和系统管理员提供了一种创建和管理相关 Amazon 资源集合的简便方法,使用模板来配置和更新这些资源。您可以使用服务的示例模板,也可创建自己的模板。模板描述了运行应用程序所需的 Amazon 资源以及任何依赖关系或运行时参数。

注意:的 CodePipeline 操作 Amazon CloudFormation 不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

Amazon 无服务器应用程序模型 (Amazon SAM) 扩展 Amazon CloudFormation 为定义和部署无服务器应用程序提供了一种简化的方法。 Amazon SAM 支持 Amazon API Gateway API、 Amazon Lambda 函数和亚马逊 DynamoDB 表。您可以使用 CodePipeline Amazon CloudFormation 和 Amazon SAM 来持续交付您的无服务器应用程序。

您可以向 Amazon CloudFormation 用作部署提供者的管道添加操作。当你 Amazon CloudFormation 用作部署提供者时,可以在管道执行过程中对 Amazon CloudFormation 堆栈和变更集执行操作。 Amazon CloudFormation 可以在管道运行时创建、更新、替换和删除堆栈和更改集。因此,可以根据您在 Amazon CloudFormation 模板 Amazon 和参数定义中提供的规范,在管道执行期间创建、配置、更新或终止自定义资源。

了解更多:

Amazon CloudFormation StackSets 部署动作

Amazon CloudFormation为您提供了一种跨多个账户和 Amazon 地区部署资源的方式。

Step Functions 的 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

您可以 Amazon CloudFormation 将 CodePipeline 与配合使用来更新您的堆栈集定义并将更新部署到您的实例。

您可以向管道中添加以下操作以 Amazon CloudFormation StackSets 用作部署提供者。

  • CloudFormationStackSet

  • CloudFormationStackInstances

了解更多:

Amazon ECS 部署操作

Amazon ECS 是一项可高度扩展的高性能容器管理服务,使您可以在 Amazon Web Services 云中运行基于容器的应用程序。在创建管道时,您可以选择 Amazon ECS 作为部署提供方。源控制存储库中的代码发生变更后,将会触发管道构建新的 Docker 映像,将其推送到您的容器注册表,然后将更新后的映像部署到 Amazon ECS 中。您还可以使用中的 ECS(蓝/绿)提供商操作将流量路由和部署 CodePipeline 到 Amazon ECS。 CodeDeploy

了解更多:

Elastic Beanstalk 部署操作

Elastic Beanstalk 是一项服务,用于在熟悉的服务器(例如 Apache、Nginx、Passenger 和 IIS)上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 开发的 Web 应用程序和服务。您可以配置 CodePipeline 为使用 Elastic Beanstalk 来部署您的代码。您可以创建 Elastic Beanstalk 应用程序和环境,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。

注意

了解更多:

Amazon OpsWorks 部署动作

Amazon OpsWorks 是一项配置管理服务,可帮助您使用 Chef 配置和操作各种形状和大小的应用程序。使用 Amazon OpsWorks Stacks,您可以定义应用程序的架构和每个组件的规格,包括软件包安装、软件配置和存储等资源。您可以配置 CodePipeline 为用于 Amazon OpsWorks Stacks 将您的代码与自定义 Chef 食谱和应用程序一起部署。 Amazon OpsWorks

  • 自定义 Chef Cookbook Amazon OpsWorks s — 使用 Chef Cookbooks 来处理诸如安装和配置软件包以及部署应用程序之类的任务。

  • 应用程序- Amazon OpsWorks 应用程序由要在应用程序服务器上运行的代码组成。应用程序代码存储在存储库中,如 Amazon S3 桶。

在创建管道之前,您需要创建 Amazon OpsWorks 堆栈和层。您可以在创建管道之前或使用 “创建管道” 向导时创建要在部署操作中使用的 Amazon OpsWorks 应用程序。

CodePipeline 目前 Amazon OpsWorks 仅在美国东部(弗吉尼亚北部)区域 (us-east-1) 提供支持。

了解更多:

Service Catalog 部署操作

S@@ ervice Catalog 使组织能够创建和管理获准在上 Amazon使用的产品目录。

注意

您可以配置为 CodePipeline 将产品模板的更新和版本部署到 Service Catalog。您可以创建要在部署操作中使用的 Service Catalog 产品,然后使用创建管道向导创建管道。

了解更多:

Amazon Alexa 部署操作

Amazon Alexa Skills Kit 可让您构建基于云的技能并将其分发给启用 Alexa 的设备的用户。

注意

此功能在亚太地区(香港)或欧洲地区(米兰)区域不可用。要使用该区域可用的其他部署操作,请参阅部署操作集成

您可以向管道中添加使用 Alexa Skills Kit 作为部署提供方的操作。您的管道检测到源更改,然后您的管道在 Alexa 服务中部署 Alexa 技能的更新。

了解更多:

CodeDeploy 部署动作

CodeDeploy协调对 Amazon EC2 实例、本地实例或两者的应用程序部署。您可以配置 CodePipeline 为使用 CodeDeploy 来部署您的代码。您可以在创建管道之前或使用 “创建管道” 向导时创建要用于部署操作的 CodeDeploy 应用程序、部署和部署组。

了解更多:

XebiaLabs 部署动作

您可以配置 CodePipeline XebiaLabs为使用在管道中的一个或多个操作中部署代码。

了解更多:

审批操作与 Amazon Simple Notification Service 集成

Amazon SNS 是一项快速、灵活、完全托管的推送通知服务,可让您将单个消息或多个消息发送给大量收件人。Amazon SNS 提供了一种简单且经济高效的方式,以便向移动设备用户、电子邮件收件人发送推送通知,甚至向其他分布式服务发送消息。

当您在中创建手动批准请求时 CodePipeline,您可以选择在 Amazon SNS 中向某个主题发布消息,这样订阅该请求的所有 IAM 用户都会收到通知,该批准操作已准备就绪,可供审核。

了解更多:

调用操作集成

以下信息按 CodePipeline 操作类型组织,可以帮助您配置 CodePipeline 为与以下调用操作提供程序集成。

Lambda 调用操作

利用 Lambda,您可以在不预调配或管理服务器的情况下运行代码。您可以配置 CodePipeline 为使用 Lambda 函数来增加管道的灵活性和功能。您可以创建 Lambda 函数,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。

了解更多:

Snyk 调用操作

您可以配置 CodePipeline 为使用 Snyk,通过检测和修复安全漏洞以及更新应用程序代码和容器镜像中的依赖关系来保护开源环境的安全。您还可以使用中的 Snyk 操作 CodePipeline 来自动执行管道中的安全测试控制。

注意:Snyk 的 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

了解更多:

Step Functions 调用操作

Step Functions 使您可以创建和配置状态机。您可以配置 CodePipeline 为使用 Step Functions 调用操作来触发状态机执行。

Step Functions 的 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline

了解更多: