与 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 使用 Amazon EventBridge(前身为 Amazon CloudWatch Events)来检测 Amazon S3 源桶中的变更。请参阅与 CodePipeline 的常规集成。
Bitbucket Cloud、GitHub(通过 GitHub 应用程序)、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管连接
连接(CodeStarSourceConnection 操作)用于访问您的第三方 Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com 或 GitLab 自托管存储库。
注意
此功能在亚太地区(香港)、亚太地区(海得拉巴)、亚太地区(雅加达)、亚太地区(墨尔本)、亚太地区(大阪)、非洲(开普敦)、中东(巴林)、中东(阿联酋)、欧洲(西班牙)、欧洲(苏黎世)、以色列(特拉维夫)或 AWS GovCloud(美国西部)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成。有关在欧洲地区(米兰)区域使用此操作的注意事项,请参阅CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)中的说明。
| Bitbucket Cloud |
您可以将 CodePipeline 配置为使用 Bitbucket Cloud 存储库作为代码的源。您必须事先创建一个 Bitbucket 账户和至少一个 Bitbucket Cloud 存储库。您可以通过创建管道或编辑现有管道,为 Bitbucket Cloud 存储库添加一个源操作。 注意您可以创建到 Bitbucket Cloud 存储库的连接。不支持已安装的 Bitbucket 提供程序类型(如 Bitbucket 服务器)。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您应安装采用第三方代码存储库的连接器应用程序,然后将其与您的连接相关联。 对于 Bitbucket Cloud,请使用控制台中的 Bitbucket 选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
| GitHub 或 GitHub Enterprise Cloud |
您可以将 CodePipeline 配置为使用 GitHub 存储库作为代码的源。您先前必须已经创建了一个 GitHub 账户和至少一个 GitHub 存储库。您可以通过创建管道或编辑现有管道,为 GitHub 存储库添加一个源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您应安装采用第三方代码存储库的连接器应用程序,然后将其与您的连接相关联。 使用控制台中的 GitHub(通过 GitHub 应用程序)提供程序选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
| GitHub Enterprise Server |
您可以将 CodePipeline 配置为使用 GitHub Enterprise Server 存储库作为代码的源。您先前必须已经创建了一个 GitHub 账户和至少一个 GitHub 存储库。您可以通过创建管道或编辑现有管道,为 GitHub Enterprise Server 存储库添加一个源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您应安装采用第三方代码存储库的连接器应用程序,然后将其与您的连接相关联。 使用控制台中的 GitHub Enterprise Server 提供方选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
| GitLab.com |
您可以将 CodePipeline 配置为使用 GitLab.com 存储库作为代码的源。您必须事先创建一个 GitLab.com 账户和至少一个 GitLab.com 存储库。您可以通过创建管道或编辑现有管道,为 GitLab.com 存储库添加一个源操作。 使用控制台中的 GitLab 提供方选项,或者在 CLI 中使用 了解更多:
|
| GitLab 自托管 |
您可以将 CodePipeline 配置为使用 GitLab 自托管安装作为代码的源。您之前必须已创建一个 GitLab 账户,并订阅了自托管的 GitLab(企业版或社区版)。您可以通过创建管道或编辑现有管道,为 GitLab 自托管存储库添加一个源操作。 您可以设置称为连接 的资源,以允许您的管道访问第三方代码存储库。创建连接时,您应安装采用第三方代码存储库的连接器应用程序,然后将其与您的连接相关联。 使用控制台中的 GitLab 自托管提供方选项或 CLI 中的 您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。 了解更多:
|
CodeCommit 源操作
CodeCommit 是一项版本控制服务,您可用它在云中以私有方式存储和管理资产(如文档、源代码和二进制文件)。您可以将 CodePipeline 配置为使用 CodeCommit 存储库中的分支作为代码的源。创建存储库并将其与本地计算机上的工作目录关联。然后,您可以在某个阶段的源操作中创建使用分支的管道。您可以通过创建管道或编辑现有管道来连接到 CodeCommit 存储库。
您可以对此操作使用完整克隆选项以引用存储库 Git 元数据,以便下游操作可以直接执行 Git 命令。此选项只能由 CodeBuild 下游操作使用。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 CodeCommit 源操作参考。
-
CodePipeline 使用 Amazon CloudWatch Events 来检测用作管道源的 CodeCommit 存储库中的变更。每个源操作具有相应的事件规则。此事件规则在存储库中发生更改时启动管道。请参阅与 CodePipeline 的常规集成。
GitHub(通过 OAuth 应用程序)源操作
GitHub(通过 OAuth 应用程序)操作是使用 OAuth 应用程序管理的版本 1 GitHub 操作。在适用的区域,您还可以在通过 GitHub 应用来管理 GitHub 源操作的管道中,使用 CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)源操作。如果您的管道使用 GitHub(通过 OAuth 应用程序)操作,请参阅将 GitHub(通过 OAuth 应用程序)源操作更新为 GitHub(通过 GitHub 应用程序)源操作中的步骤,将其更新为使用 GitHub(通过 GitHub 应用程序)操作。
注意
虽然我们不建议使用 GitHub(通过 OAuth 应用程序)操作,但具有 GitHub(通过 OAuth 应用程序)操作的现有管道将继续正常运行,不会产生任何影响。
了解更多:
-
有关基于 OAuth 的 GitHub(通过 OAuth 应用工程序)访问与基于应用的 GitHub 访问对比的更多信息,请参阅https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
。 -
要查看包含 GitHub(通过 OAuth 应用程序)操作详细信息的附录,请参阅附录 A:GitHub(通过 OAuth 应用程序)源操作。
生成操作集成
以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下构建操作提供程序相集成。
CodeBuild 构建操作
CodeBuild
您可以将 CodeBuild 作为生成操作添加到管道的构建阶段中。有关更多信息,请参阅 AWS CodeBuild 构建和测试操作参考 的 CodePipeline 操作配置参考。
注意
CodeBuild 也可以作为测试操作包含在管道中,有或没有生成输出均可。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS CodeBuild 构建和测试操作参考。
CloudBees 构建操作
您可以将 CodePipeline 配置为使用 CloudBees
了解更多:
Amazon ECR 构建和发布操作
Amazon ECR 是一项 AWS Docker 映像存储库服务。使用 Docker 推送和拉取命令将 Docker 映像上传到您的存储库。
您可以将 ECRBuildAndPublish 操作添加到您的管道中,以自动构建和推送映像。有关更多信息,请参阅 ECRBuildAndPublish 构建操作参考的 CodePipeline 操作配置参考。
Jenkins 构建操作
您可以将 CodePipeline 配置为使用 Jenkins CI
对 Jenkins 的访问权限应按项目来配置。在您要与 CodePipeline 一起使用的每个 Jenkins 实例上,都必须安装适用于 Jenkins 的 CodePipeline 插件。您还必须配置对 Jenkins 项目的 CodePipeline 访问权限。通过将 Jenkins 项目配置为仅接受 HTTPS/SSL 连接来保护您的 Jenkins 项目。如果您的 Jenkins 项目安装在 Amazon EC2 实例上,请考虑通过在每个实例上安装 AWS CLI 来提供您的 AWS 凭证。然后,使用要用于连接的凭证,在这些实例上配置一个 AWS 配置文件。这是通过 Jenkins Web 界面添加和存储它们的替代方法。
了解更多:
TeamCity 构建操作
您可以将 CodePipeline 配置为使用 TeamCity
了解更多:
测试操作集成
以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下测试操作提供程序相集成。
CodeBuild 测试操作
CodeBuild
您可以将 CodeBuild 作为测试操作添加到管道中。有关更多信息,请参阅 AWS CodeBuild 构建和测试操作参考 的 CodePipeline 操作配置参考。
注意
CodeBuild 也可以作为构建操作包含在管道中,并具有强制性的构建输出构件。
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS CodeBuild 构建和测试操作参考。
AWS Device Farm 测试操作
AWS Device Farm
了解更多:
-
要查看配置参数和 JSON/YAML 示例代码片段,请参阅 AWS Device Farm 测试操作参考。
Ghost Inspector 测试操作
您可以将 CodePipeline 配置为使用 Ghost Inspector
了解更多:
OpenText LoadRunner Cloud 测试操作
您可以将 CodePipeline 配置为在管道中的一个或多个操作中使用 OpenText LoadRunner Cloud
了解更多:
Reflect 测试自动化
Reflect
了解更多:
部署操作集成
以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下部署操作提供程序相集成。
主题
Amazon EC2 部署操作
Amazon EC2 允许您在云中创建和管理计算。您可以向使用 Amazon EC2 作为部署提供方将应用程序部署到您的实例的管道添加操作。
了解更多:
-
请参阅 Amazon EC2 操作参考的操作参考页面。
-
有关教程,请参阅 教程:使用 CodePipeline 部署到 Amazon EC2 实例。
Amazon Elastic Kubernetes Service EKS 部署操作
Amazon EKS 允许您创建和管理 Kubernetes 集群。您可以向使用 Amazon EKS 作为部署提供方将映像部署到您的集群的管道添加操作。您可以使用 Helm 模板或 Kubernetes 清单文件。
了解更多:
-
请参阅 Amazon Elastic Kubernetes Service EKS 部署操作参考的操作参考页面。
-
有关教程,请参阅 教程:使用 CodePipeline 部署到 Amazon EKS。
Amazon S3 部署操作
Amazon S3 是一种面向互联网的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以向使用 Amazon S3 作为部署提供程序的管道添加操作。
注意
Amazon S3 也可以作为源操作包含在管道中。
了解更多:
AWS AppConfig 部署操作
AWS AppConfig 是 AWS Systems Manager 的一项功能,可用于创建、管理以及快速部署应用程序配置。您可以将 AppConfig 与 EC2 实例上托管的应用程序、AWS Lambda、容器、移动应用程序或 IoT 设备一起使用。
了解更多:
-
AWS AppConfig 部署操作参考 的 CodePipeline 操作配置参考
CloudFormation 部署操作
CloudFormation 让开发人员和系统管理员可轻松创建和管理相关 AWS 资源集合,并使用模板来预配置和更新这些资源。您可以使用服务的示例模板,也可创建自己的模板。模板描述运行应用程序所需的 AWS 资源以及任何依赖项或运行时参数。
AWS Serverless Application Model (AWS SAM) 可扩展 CloudFormation,以提供一种简化的方法来定义和部署无服务器应用程序。AWSSAM 支持 Amazon API Gateway API、AWS Lambda 函数和 Amazon DynamoDB 表。您可以将 CodePipeline 与 CloudFormation 和 AWS SAM 结合使用,以便持续交付无服务器应用程序。
您可以向管道中添加使用 AWS CloudFormation 作为部署提供方的操作。使用 AWS CloudFormation 作为部署提供商时,您可在管道执行过程中对 CloudFormation 堆栈和更改集采取操作。在管道运行时,CloudFormation 可以创建、更新、替换和删除堆栈和更改集。因此,根据您在 AWS 模板和参数定义中提供的规范,可以在管道执行期间创建、预配置、更新或终止 CloudFormation 和自定义资源。
了解更多:
-
CloudFormation 部署操作参考 的 CodePipeline 操作配置参考
-
利用 CodePipeline 进行持续交付:了解如何使用 CodePipeline 为 CloudFormation 构建持续交付工作流。
-
自动部署基于 Lambda 的应用程序:了解如何使用 AWS Serverless Application Model 和 CloudFormation 为基于 Lambda 的应用程序构建持续交付工作流。
CloudFormation StackSets 部署操作
CloudFormation 为您提供了一种跨多个账户和 AWS 区域部署资源的方式。
您可以将 CodePipeline 与 CloudFormation 结合使用,以便更新您的堆栈集定义并将更新部署到您的实例。
您可以将以下操作添加到管道中,以便使用 AWS CloudFormation StackSets 作为部署提供方。
-
CloudFormationStackSet
-
CloudFormationStackInstances
了解更多:
-
CloudFormation StackSets 部署操作参考 的 CodePipeline 操作配置参考
Amazon ECS 部署操作
Amazon ECS 是一项可高度扩展的高性能容器管理服务,使您可以在 AWS 架构 中运行基于容器的应用程序。在创建管道时,您可以选择 Amazon ECS 作为部署提供方。源控制存储库中的代码发生变更后,将会触发管道构建新的 Docker 映像,将其推送到您的容器注册表,然后将更新后的映像部署到 Amazon ECS 中。您还可以使用 CodePipeline 中的 ECS(蓝绿)提供程序操作,通过 CodeDeploy 将流量路由并部署到 Amazon ECS。
了解更多:
Elastic Beanstalk 部署操作
Elastic Beanstalk 是一项服务,用于在熟悉的服务器(例如 Apache、Nginx、Passenger 和 IIS)上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 开发的 Web 应用程序和服务。您可以将 CodePipeline 配置为使用 Elastic Beanstalk 来部署您的代码。您可以创建 Elastic Beanstalk 应用程序和环境,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
注意
此功能在亚太地区(海得拉巴)、亚太地区(墨尔本)、中东(阿联酋)、欧洲(西班牙)或欧洲(苏黎世)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成。
了解更多:
OpsWorks 部署操作
OpsWorks 是一项配置管理服务,可帮助您利用 Chef 配置和操作各种类型和规模的应用程序。通过使用 AWS OpsWorks Stacks,您可以定义应用程序的架构和每个组件的规范(包括软件包安装、软件配置和存储等资源)。您可以将 CodePipeline 配置为使用 AWS OpsWorks Stacks 在 OpsWorks 中部署您的代码与自定义 Chef 说明书和应用程序。
-
自定义 Chef 说明书:OpsWorks 使用 Chef 说明书来处理诸如安装和配置程序包以及部署应用程序等任务。
-
应用程序:OpsWorks 应用程序包含要在应用程序服务器上运行的代码。应用程序代码存储在存储库中,如 Amazon S3 桶。
在创建管道之前,您需要创建 OpsWorks 堆栈和层。您可以创建 OpsWorks 应用程序,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
CodePipeline 目前仅在美国东部(弗吉尼亚州北部)区域 (us-east-1) 中支持 OpsWorks。
了解更多:
Service Catalog 部署操作
利用 Service Catalog,组织可以创建和管理已批准在 AWS 上使用的产品的目录。
您可以将 CodePipeline 配置为向 Service Catalog 部署产品模板的更新和版本。您可以创建要在部署操作中使用的 Service Catalog 产品,然后使用创建管道向导创建管道。
了解更多:
Amazon Alexa 部署操作
Amazon Alexa Skills Kit
注意
此功能在亚太地区(香港)或欧洲地区(米兰)区域不可用。要使用该区域可用的其他部署操作,请参阅部署操作集成。
您可以向管道中添加使用 Alexa Skills Kit 作为部署提供方的操作。您的管道检测到源更改,然后您的管道在 Alexa 服务中部署 Alexa 技能的更新。
了解更多:
CodeDeploy 部署操作
CodeDeploy 可以协调向 Amazon EC2/本地实例、Amazon Elastic Container Service 计算平台和无服务器 AWS Lambda 计算平台进行的应用程序部署。您可以将 CodePipeline 配置为使用 CodeDeploy 来部署您的代码。您可以创建 CodeDeploy 应用程序、部署和部署组,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
了解更多:
XebiaLabs 部署操作
您可以将 CodePipeline 配置为使用 XebiaLabs
了解更多:
审批操作与 Amazon Simple Notification Service 集成
Amazon SNS 是一项快速、灵活、完全托管的推送通知服务,可让您将单个消息或多个消息发送给大量收件人。Amazon SNS 提供了一种简单且经济高效的方式,以便向移动设备用户、电子邮件收件人发送推送通知,甚至向其他分布式服务发送消息。
当您在 CodePipeline 中创建手动审批请求时,可以选择将其发布到 Amazon SNS 中的主题,以便向所有订阅该主题的 IAM 用户告知该审批操作已准备好接受审核。
了解更多:
调用操作集成
以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下调用操作提供程序相集成。
Amazon Inspector 调用操作
Amazon Inspector
您可以将 CodePipeline InspectorScan 操作配置为自动扫描源代码或 Amazon ECR 映像存储库中的漏洞。
了解更多:
-
Amazon Inspector InspectorScan 调用操作参考的 CodePipeline 操作配置参考
Lambda 调用操作
利用 Lambda,您可以在不预调配或管理服务器的情况下运行代码。您可以将 CodePipeline 配置为使用 Lambda 函数为您的管道增加灵活性和功能。您可以创建 Lambda 函数,以便在某个阶段的部署操作中使用,这可以发生在您创建管道之前,或者在您使用创建管道向导时。
了解更多:
-
AWS Lambda 调用操作参考的 CodePipeline 操作配置参考
Step Functions 调用操作
Step Functions 使您可以创建和配置状态机。您可以将 CodePipeline 配置为使用 Step Functions 调用操作来触发状态机执行。
了解更多:
-
AWS Step Functions 调用操作参考 的 CodePipeline 操作配置参考