与 CodePipeline 操作类型的集成 - AWS CodePipeline

与 CodePipeline 操作类型的集成

本主题中的集成信息按照 CodePipeline 操作类型来整理。

源操作集成

以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下源操作提供程序相集成。

Amazon ECR 源操作

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

了解更多:

Amazon S3 源操作

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

注意

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

了解更多:

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 中的 CodestarSourceConnection 操作。请参阅Bitbucket Cloud 连接

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

了解更多:

GitHub 或 GitHub Enterprise Cloud

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

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

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

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

了解更多:

GitHub Enterprise Server

您可以将 CodePipeline 配置为使用 GitHub Enterprise Server 存储库作为代码的源。您先前必须已经创建了一个 GitHub 账户和至少一个 GitHub 存储库。您可以通过创建管道或编辑现有管道,为 GitHub Enterprise Server 存储库添加一个源操作。

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

使用控制台中的 GitHub Enterprise Server 提供方选项或 CLI 中的 CodestarSourceConnection 操作。请参阅GitHub Enterprise Server 连接

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

了解更多:

GitLab.com

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

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

了解更多:

GitLab 自托管

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

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

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

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

了解更多:

CodeCommit 源操作

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

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

了解更多:

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 应用程序)操作的现有管道将继续正常运行,不会产生任何影响。

了解更多:

生成操作集成

以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下构建操作提供程序相集成。

CodeBuild 构建操作

CodeBuild 是一项完全托管的构建服务,可编译源代码、运行单元测试以及生成可供部署的构件。

您可以将 CodeBuild 作为生成操作添加到管道的构建阶段中。有关更多信息,请参阅 AWS CodeBuild 构建和测试操作参考 的 CodePipeline 操作配置参考。

注意

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

了解更多:

CloudBees 构建操作

您可以将 CodePipeline 配置为使用 CloudBees 来构建或测试管道中一个或多个操作的代码。

了解更多:

Amazon ECR 构建和发布操作

Amazon ECR 是一项 AWS Docker 映像存储库服务。使用 Docker 推送和拉取命令将 Docker 映像上传到您的存储库。

您可以将 ECRBuildAndPublish 操作添加到您的管道中,以自动构建和推送映像。有关更多信息,请参阅 ECRBuildAndPublish 构建操作参考的 CodePipeline 操作配置参考。

Jenkins 构建操作

您可以将 CodePipeline 配置为使用 Jenkins CI 来构建或测试管道中一个或多个操作的代码。您必须事先创建一个 Jenkins 项目并为该项目安装和配置适用于 Jenkins 的 CodePipeline 插件。您可以通过创建新管道或编辑现有管道来连接到 Jenkins 项目。

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 可编译源代码,运行单元测试,并生成可供部署的构件。

您可以将 CodeBuild 作为测试操作添加到管道中。有关更多信息,请参阅 AWS CodeBuild 构建和测试操作参考 的 CodePipeline 操作配置参考。

注意

CodeBuild 也可以作为构建操作包含在管道中,并具有强制性的构建输出构件。

了解更多:

AWS Device Farm 测试操作

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

了解更多:

Ghost Inspector 测试操作

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

了解更多:

OpenText LoadRunner Cloud 测试操作

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

了解更多:

Reflect 测试自动化

Reflect 是基于人工智能的测试自动化解决方案,可让您简化测试并克服手动流程的难题。借助无代码测试自动化,Reflect 简化了测试的创建、执行和维护,使您无需任何技术知识即可创建强大、可重复的测试。通过消除复杂性并确保对工作流程的干扰降至最低,它可以帮助您加快测试速度,并且始终能自信地交付高质量的应用程序。

了解更多:

部署操作集成

以下信息按照 CodePipeline 操作类型来整理,可帮助您配置 CodePipeline 以便与以下部署操作提供程序相集成。

Amazon EC2 部署操作

Amazon EC2 允许您在云中创建和管理计算。您可以向使用 Amazon EC2 作为部署提供方将应用程序部署到您的实例的管道添加操作。

了解更多:

Amazon Elastic Kubernetes Service EKS 部署操作

Amazon EKS 允许您创建和管理 Kubernetes 集群。您可以向使用 Amazon EKS 作为部署提供方将映像部署到您的集群的管道添加操作。您可以使用 Helm 模板或 Kubernetes 清单文件。

了解更多:

Amazon S3 部署操作

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

注意

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

了解更多:

AWS AppConfig 部署操作

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

了解更多:

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 StackSets 部署操作

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

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

您可以将以下操作添加到管道中,以便使用 AWS CloudFormation StackSets 作为部署提供方。

  • CloudFormationStackSet

  • CloudFormationStackInstances

了解更多:

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 的设备的用户。

注意

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

您可以向管道中添加使用 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 是一项漏洞管理服务,可自动发现工作负载并持续对其进行扫描,以查找软件漏洞和意外的网络暴露。Amazon Inspector 支持多种存档格式(包括 tar 和 war)和二进制文件(包括 Rust 和 Go 二进制文件)。

您可以将 CodePipeline InspectorScan 操作配置为自动扫描源代码或 Amazon ECR 映像存储库中的漏洞。

了解更多:

Lambda 调用操作

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

了解更多:

Step Functions 调用操作

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

了解更多: