本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与动 CodePipeline 作类型的集成
本主题中的集成信息按 CodePipeline 操作类型组织。
源操作集成
以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下源操作提供程序集成。
主题
Amazon ECR 源操作
Amazon ECR 是一项 AWS Docker 镜像存储库服务。使用 Docker 推送和拉取命令将 Docker 映像上传到您的存储库。Amazon ECR 存储库 URI 和映像在 Amazon ECS 任务定义中用于引用源映像信息。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 Amazon ECR
Amazon S3 源操作
Amazon S3 是一种面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以配置 CodePipeline 为使用受版本控制的 Amazon S3 存储桶作为代码的源操作。
注意
Amazon S3 也可以作为部署操作包含在管道中。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 Amazon S3 源操作
-
CodePipeline 使用亚马逊 EventBridge (前身为 Amazon Ev CloudWatch ents)来检测您的 Amazon S3 源存储桶中的更改。请参阅 与以下内容的常规集成 CodePipeline。
与 Bitbucket Cloud GitHub(版本 2)、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的连接
连接(CodeStarSourceConnection
操作)用于访问您的第三方 Bitbucket Cloud、 GitHub E GitHub nterprise Server、 GitLab .com 或 GitLab自我管理的存储库。
注意
此功能不适用于亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud (美国西部)地区。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理操作中的说明。
Bitbucket Cloud |
您可以配置 CodePipeline 为使用 Bitbucket Cloud 存储库作为代码的来源。您必须事先创建一个 Bitbucket 账户和至少一个 Bitbucket Cloud 存储库。您可以通过创建管道或编辑现有管道,为 Bitbucket Cloud 存储库添加一个源操作。 注意您可以创建到 Bitbucket Cloud 存储库的连接。不支持已安装的 Bitbucket 提供程序类型(如 Bitbucket 服务器)。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。 对于 Bitbucket Cloud,请使用控制台中的 Bitbucket 选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
GitHub 或 GitHub 企业云 |
您可以配置 CodePipeline 为使用 GitHub 存储库作为代码的源。您之前必须创建过一个 GitHub 账户和至少一个 GitHub存储库。您可以通过创建管道或编辑现有管道来为 GitHub 仓库添加源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。 使用控制台中的 GitHub (版本 2)提供程序选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
GitHub 企业服务器 |
您可以配置 CodePipeline 为使用 GitHub 企业服务器存储库作为代码的源。您之前必须创建过一个 GitHub 账户和至少一个 GitHub 存储库。您可以通过创建管道或编辑现有管道来为 E GitHub nterprise Server 存储库添加源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。 使用控制台中的GitHub 企业服务器提供者选项或 CLI 中的 重要AWS 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 自我管理 |
您可以配置 CodePipeline 为使用 GitLab 自行管理的安装作为代码的来源。您之前必须已创建 GitLab 帐户并订阅了自我管理 GitLab (企业版或社区版)。您可以通过创建管道或编辑现有 GitLab 管道来为自行管理的存储库添加源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您需要使用第三方代码存储库安装该 AWS CodeStar 应用程序,然后将其与您的连接关联。 使用控制台中的GitLab 自我管理提供商选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
CodeCommit 源操作
CodeCommit是一项版本控制服务,可用于在云端私下存储和管理资产(例如文档、源代码和二进制文件)。您可以配置 CodePipeline 为使用 CodeCommit 存储库中的分支作为代码的源。创建存储库并将其与本地计算机上的工作目录关联。然后,您可以在某个阶段的源操作中创建使用分支的管道。您可以通过创建管道或编辑现有管道来连接到 CodeCommit 存储库。
您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 CodeCommit。
-
CodePipeline 使用 Amazon Ev CloudWatch ents 来检测用作管道来源的 CodeCommit 存储库中的更改。每个源操作具有相应的事件规则。此事件规则在存储库中发生更改时启动管道。请参阅 与以下内容的常规集成 CodePipeline。
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 操作,但具有 GitHub 版本 1 操作的现有管道将继续运行而不会产生任何影响。
了解更多:
-
有关基于 OAuth 的 GitHub 访问与基于应用程序 GitHub 的访问对比的更多信息,请参阅。https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
-
要查看包含版本 1 GitHub 操作详细信息的附录,请参阅附录 A: GitHub 版本 1 源代码操作。
生成操作集成
以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下构建操作提供程序集成。
CodeBuild 生成操作
CodeBuild
您可以将生成操作 CodeBuild 作为生成操作添加到管道的生成阶段。有关更多信息,请参阅《 CodePipeline 操作配置参考》AWS CodeBuild。
注意
CodeBuild 也可以作为测试操作包含在管道中,带或不带生成输出。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS CodeBuild。
CloudBees 生成操作
您可以配置 CodePipeline CloudBees
了解更多:
Jenkins 构建操作
您可以配置 CodePipeline 为使用 Jenkins CI
对 Jenkins 的访问权限应按项目来配置。你必须在你想要使用的每个 Jenkins 实例上安装适用于 Jenkins 的 CodePipeline 插件。 CodePipeline您还必须配置 CodePipeline 对 Jenkins 项目的访问权限。通过将 Jenkins 项目配置为仅接受 HTTPS/SSL 连接来保护您的 Jenkins 项目。如果您的 Jenkins 项目安装在 Amazon EC2 实例上,请考虑通过 AWS CLI 在每个实例上安装来提供您的 AWS 证书。然后,使用您要用于连接的凭据在这些实例上 AWS 配置配置文件。这是通过 Jenkins Web 界面添加和存储它们的替代方法。
了解更多:
TeamCity 生成操作
您可以配置 CodePipeline TeamCity
了解更多:
测试操作集成
以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下测试操作提供程序集成。
CodeBuild 测试动作
CodeBuild
您可以作为测试操作 CodeBuild 添加到管道中。有关更多信息,请参阅《 CodePipeline操作配置参考》AWS CodeBuild。
注意
CodeBuild 也可以作为生成操作包含在管道中,并带有必需的生成输出工件。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS CodeBuild。
AWS Device Farm 测试动作
AWS Device Farm
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS Device Farm。
Ghost Inspector 测试操作
您可以配置 CodePipeline 为使用 Ghost Inspec
了解更多:
OpenText LoadRunner 云端测试操作
您可以配置 CodePipeline 为在管道中的一个或多个操作中使用 OpenText LoadRunner Cloud
了解更多:
部署操作集成
以下信息按 CodePipeline 操作类型组织,可以帮助您进行配置 CodePipeline 以与以下部署操作提供程序集成。
主题
Amazon S3 部署操作
Amazon S3 是一种面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以向使用 Amazon S3 作为部署提供程序的管道添加操作。
注意
Amazon S3 也可以作为源操作包含在管道中。
了解更多:
AWS AppConfig 部署动作
AWS AppConfig 是一种创建、管理和快速部署应用程序配置的功能。 AWS Systems Manager 您可以 AppConfig 与 EC2 实例上托管的应用程序、容器 AWS Lambda、移动应用程序或 IoT 设备一起使用。
了解更多:
-
CodePipeline 的操作配置参考 AWS AppConfig
AWS CloudFormation 部署动作
AWS CloudFormation为开发人员和系统管理员提供了一种创建和管理相关 AWS 资源集合的简便方法,使用模板来配置和更新这些资源。您可以使用服务的示例模板,也可创建自己的模板。模板描述了运行应用程序所需的 AWS 资源以及任何依赖关系或运行时参数。
AWS 无服务器应用程序模型 (AWS SAM) 扩展 AWS CloudFormation 为定义和部署无服务器应用程序提供了一种简化的方法。 AWS SAM 支持 Amazon API Gateway API、 AWS Lambda 函数和亚马逊 DynamoDB 表。您可以使用 CodePipeline AWS CloudFormation 和 AWS SAM 来持续交付您的无服务器应用程序。
您可以向 AWS CloudFormation 用作部署提供者的管道添加操作。当你 AWS CloudFormation 用作部署提供者时,可以在管道执行过程中对 AWS CloudFormation 堆栈和变更集执行操作。 AWS CloudFormation 可以在管道运行时创建、更新、替换和删除堆栈和更改集。因此,可以根据您在 AWS CloudFormation 模板 AWS 和参数定义中提供的规范,在管道执行期间创建、配置、更新或终止自定义资源。
了解更多:
-
CodePipeline 的操作配置参考 AWS CloudFormation
-
使用@@ 持续交付 CodePipeline — 了解如何使用 CodePipeline 为其构建持续交付工作流程 AWS CloudFormation。
-
自动部署基于 Lambda 的应用程序 — 了解如何使用 AWS 无服务器应用程序模型以及 AWS CloudFormation 如何为基于 Lambda 的应用程序构建持续交付工作流程。
AWS CloudFormation StackSets 部署动作
AWS CloudFormation为您提供了一种跨多个账户和 AWS 地区部署资源的方式。
您可以 AWS CloudFormation 将 CodePipeline 与配合使用来更新您的堆栈集定义并将更新部署到您的实例。
您可以向管道中添加以下操作以 AWS CloudFormation StackSets 用作部署提供者。
-
CloudFormationStackSet
-
CloudFormationStackInstances
了解更多:
-
CodePipeline 的操作配置参考 AWS CloudFormation StackSets
Amazon ECS 部署操作
Amazon ECS 是一项可高度扩展的高性能容器管理服务,使您可以在 AWS Cloud中运行基于容器的应用程序。在创建管道时,您可以选择 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 应用程序和环境,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
注意
此功能在亚太地区(海得拉巴)、亚太地区(墨尔本)、中东(阿联酋)、欧洲(西班牙)或欧洲(苏黎世)区域不可用。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。
了解更多:
AWS OpsWorks 部署动作
AWS OpsWorks 是一项配置管理服务,可帮助您使用 Chef 配置和操作各种形状和大小的应用程序。使用 AWS OpsWorks Stacks,您可以定义应用程序的架构和每个组件的规格,包括软件包安装、软件配置和存储等资源。您可以配置 CodePipeline 为用于 AWS OpsWorks Stacks 将您的代码与自定义 Chef 食谱和应用程序一起部署。 AWS OpsWorks
-
自定义 Chef Cookbook AWS OpsWorks s — 使用 Chef Cookbooks 来处理诸如安装和配置软件包以及部署应用程序之类的任务。
-
应用程序- AWS OpsWorks 应用程序由要在应用程序服务器上运行的代码组成。应用程序代码存储在存储库中,如 Amazon S3 桶。
在创建管道之前,您需要创建 AWS OpsWorks 堆栈和层。您可以在创建管道之前或使用 “创建管道” 向导时创建要在部署操作中使用的 AWS OpsWorks 应用程序。
CodePipeline 目前 AWS OpsWorks 仅在美国东部(弗吉尼亚北部)区域 (us-east-1) 提供支持。
了解更多:
Service Catalog 部署操作
S@@ ervice Catalog 使组织能够创建和管理获准在上 AWS使用的产品目录。
注意
此功能在亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(大阪)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)或以色列(特拉维夫)区域不可用。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。
您可以配置为 CodePipeline 将产品模板的更新和版本部署到 Service Catalog。您可以创建要在部署操作中使用的 Service Catalog 产品,然后使用创建管道向导创建管道。
了解更多:
Amazon Alexa 部署操作
Amazon Alexa Skills Kit
注意
此功能在亚太地区(香港)或欧洲地区(米兰)区域不可用。要使用该区域可用的其他部署操作,请参阅部署操作集成。
您可以向管道中添加使用 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 函数,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
了解更多:
-
CodePipeline 的操作配置参考 AWS Lambda
Snyk 调用操作
您可以配置 CodePipeline 为使用 Snyk,通过检测和修复安全漏洞以及更新应用程序代码和容器镜像中的依赖关系来保护开源环境的安全。您还可以使用中的 Snyk 操作 CodePipeline 来自动执行管道中的安全测试控制。
了解更多:
-
CodePipeline 的操作配置参考 Snyk 操作结构参考
Step Functions 调用操作
Step Functions 使您可以创建和配置状态机。您可以配置 CodePipeline 为使用 Step Functions 调用操作来触发状态机执行。
了解更多:
-
CodePipeline 的操作配置参考 AWS Step Functions