

# Product and service integrations with CodePipeline
<a name="integrations"></a>

By default, AWS CodePipeline is integrated with a number of AWS services and partner products and services. Use the information in the following sections to help you configure CodePipeline to integrate with the products and services you use.

The following related resources can help you as you work with this service.

**Topics**
+ [Integrations with CodePipeline action types](integrations-action-type.md)
+ [General integrations with CodePipeline](integrations-general.md)
+ [Examples from the community](integrations-community.md)

# Integrations with CodePipeline action types
<a name="integrations-action-type"></a>

The integrations information in this topic is organized by CodePipeline action type.

**Topics**
+ [Source action integrations](#integrations-source)
+ [Build action integrations](#integrations-build)
+ [Test action integrations](#integrations-test)
+ [Deploy action integrations](#integrations-deploy)
+ [Approval action integration with Amazon Simple Notification Service](#integrations-approval)
+ [Invoke action integrations](#integrations-invoke)

## Source action integrations
<a name="integrations-source"></a>

The following information is organized by CodePipeline action type and can help you configure CodePipeline to integrate with the following source action providers.

**Topics**
+ [Amazon ECR source actions](#integrations-source-ecr)
+ [Amazon S3 source actions](#integrations-source-s3)
+ [Connections to Bitbucket Cloud, GitHub (via GitHub App), GitHub Enterprise Server, GitLab.com, and GitLab self-managed](#integrations-source-connections)
+ [CodeCommit source actions](#integrations-source-codecommit)
+ [GitHub (via OAuth app) source actions](#integrations-source-gh-oauth)

### Amazon ECR source actions
<a name="integrations-source-ecr"></a>

[Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) is an AWS Docker image repository service. You use Docker push and pull commands to upload Docker images to your repository. An Amazon ECR repository URI and image are used in Amazon ECS task definitions to reference source image information.

Learn more:
+ To view configuration parameters and an example JSON/YAML snippet, see [Amazon ECR source action reference](action-reference-ECR.md)
+ [Create a pipeline, stages, and actions](pipelines-create.md)
+ [Tutorial: Create a pipeline with an Amazon ECR source and ECS-to-CodeDeploy deployment](tutorials-ecs-ecr-codedeploy.md)

### Amazon S3 source actions
<a name="integrations-source-s3"></a>

[Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) is storage for the internet. You can use Amazon S3 to store and retrieve any amount of data at any time, from anywhere on the web. You can configure CodePipeline to use a versioned Amazon S3 bucket as the source action for your code.

**Note**  
Amazon S3 can also be included in a pipeline as a deploy action.

Learn more:
+ To view configuration parameters and an example JSON/YAML snippet, see [Amazon S3 source action reference](action-reference-S3.md)
+ [Step 1: Create an S3 source bucket for your application](tutorials-simple-s3.md#s3-create-s3-bucket)
+ [Create a pipeline (CLI)](pipelines-create.md#pipelines-create-cli)
+ CodePipeline uses Amazon EventBridge (previously Amazon CloudWatch Events) to detect changes in your Amazon S3 source bucket. See [General integrations with CodePipeline](integrations-general.md).

### Connections to Bitbucket Cloud, GitHub (via GitHub App), GitHub Enterprise Server, GitLab.com, and GitLab self-managed
<a name="integrations-source-connections"></a>

Connections (`CodeStarSourceConnection` actions) are used to access your third-party Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com, or GitLab self-managed repository.

**Note**  
This feature is not available in the Asia Pacific (Hong Kong), Asia Pacific (Hyderabad), Asia Pacific (Jakarta), Asia Pacific (Melbourne), Asia Pacific (Osaka), Africa (Cape Town), Middle East (Bahrain), Middle East (UAE), Europe (Spain), Europe (Zurich), Israel (Tel Aviv), or AWS GovCloud (US-West) Regions. To reference other available actions, see [Product and service integrations with CodePipeline](integrations.md). For considerations with this action in the Europe (Milan) Region, see the note in [CodeStarSourceConnection for Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com, and GitLab self-managed actions](action-reference-CodestarConnectionSource.md).


|  |  | 
| --- |--- |
| Bitbucket Cloud |  You can configure CodePipeline to use a Bitbucket Cloud repository as the source for your code. You must have previously created a Bitbucket account and at least one Bitbucket Cloud repository. You can add a source action for your Bitbucket Cloud repository by either creating a pipeline or editing an existing one.  You can create connections to a Bitbucket Cloud repository. Installed Bitbucket provider types, such as Bitbucket Server, are not supported.  You can set up resources called *connections* to allow your pipelines to access third-party code repositories. When you create a connection, you install the connector app with your third-party code repository, and then associate it with your connection. For Bitbucket Cloud, use the **Bitbucket** option in the console or the `CodestarSourceConnection` action in the CLI. See [Bitbucket Cloud connections](connections-bitbucket.md). You can use the **Full clone** option for this action to reference the repository Git metadata so that downstream actions can perform Git commands directly. This option can only be used by CodeBuild downstream actions. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html)  | 


|  |  | 
| --- |--- |
| GitHub or GitHub Enterprise Cloud |  You can configure CodePipeline to use a GitHub repository as the source for your code. You must have previously created a GitHub account and at least one GitHub repository. You can add a source action for your GitHub repository by either creating a pipeline or editing an existing one. You can set up resources called *connections* to allow your pipelines to access third-party code repositories. When you create a connection, you install the connector app with your third-party code repository, and then associate it with your connection. Use the **GitHub (via GitHub App)** provider option in the console or the `CodestarSourceConnection` action in the CLI. See [GitHub connections](connections-github.md). You can use the **Full clone** option for this action to reference the repository Git metadata so that downstream actions can perform Git commands directly. This option can only be used by CodeBuild downstream actions. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html)  | 


|  |  | 
| --- |--- |
| GitHub Enterprise Server |  You can configure CodePipeline to use a GitHub Enterprise Server repository as the source for your code. You must have previously created a GitHub account and at least one GitHub repository. You can add a source action for your GitHub Enterprise Server repository by either creating a pipeline or editing an existing one. You can set up resources called *connections* to allow your pipelines to access third-party code repositories. When you create a connection, you install the connector app with your third-party code repository, and then associate it with your connection. Use the **GitHub Enterprise Server** provider option in the console or the `CodestarSourceConnection` action in the CLI. See [GitHub Enterprise Server connections](connections-ghes.md). You can use the **Full clone** option for this action to reference the repository Git metadata so that downstream actions can perform Git commands directly. This option can only be used by CodeBuild downstream actions. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html)  | 


|  |  | 
| --- |--- |
| GitLab.com |  You can configure CodePipeline to use a GitLab.com repository as the source for your code. You must have previously created a GitLab.com account and at least one GitLab.com repository. You can add a source action for your GitLab.com repository by either creating a pipeline or editing an existing one. Use the **GitLab** provider option in the console or the `CodestarSourceConnection` action with the `GitLab` provider in the CLI. See [GitLab.com connections](connections-gitlab.md). Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html)  | 


|  |  | 
| --- |--- |
| GitLab self-managed |  You can configure CodePipeline to use a GitLab self-managed installation as the source for your code. You must have previously created a GitLab account and have a subscription for self-managed GitLab (Enterprise Edition or Community Edition). You can add a source action for your GitLab self-managed repository by either creating a pipeline or editing an existing one. You can set up resources called *connections* to allow your pipelines to access third-party code repositories. When you create a connection, you install the connector app with your third-party code repository, and then associate it with your connection. Use the **GitLab self-managed** provider option in the console or the `CodestarSourceConnection` action in the CLI. See [Connections for GitLab self-managed](connections-gitlab-managed.md). You can use the **Full clone** option for this action to reference the repository Git metadata so that downstream actions can perform Git commands directly. This option can only be used by CodeBuild downstream actions. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html)  | 

### CodeCommit source actions
<a name="integrations-source-codecommit"></a>

[CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/) is a version control service that you can use to privately store and manage assets (such as documents, source code, and binary files) in the cloud. You can configure CodePipeline to use a branch in a CodeCommit repository as the source for your code. Create the repository and associate it with a working directory on your local machine. Then you can create a pipeline that uses the branch as part of a source action in a stage. You can connect to the CodeCommit repository by either creating a pipeline or editing an existing one. 

You can use the **Full clone** option for this action to reference the repository Git metadata so that downstream actions can perform Git commands directly. This option can only be used by CodeBuild downstream actions.

Learn more: 
+ To view configuration parameters and an example JSON/YAML snippet, see [CodeCommit source action reference](action-reference-CodeCommit.md).
+ [Tutorial: Create a simple pipeline (CodeCommit repository)](tutorials-simple-codecommit.md)
+ CodePipeline uses Amazon CloudWatch Events to detect changes in CodeCommit repositories used as a source for a pipeline. Each source action has a corresponding event rule. This event rule starts your pipeline when a change occurs in the repository. See [General integrations with CodePipeline](integrations-general.md).

### GitHub (via OAuth app) source actions
<a name="integrations-source-gh-oauth"></a>

The GitHub (via OAuth app) action is the version 1 GitHub action managed with OAuth Apps. In available Regions, you can also use a [CodeStarSourceConnection for Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com, and GitLab self-managed actions](action-reference-CodestarConnectionSource.md) source action in your pipeline that manages your GitHub source action with GitHub Apps. If you have a pipeline that uses the GitHub (via OAuth app) action, see the steps to update it to use a GitHub (via GitHub app) action in [Update a GitHub (via OAuth app) source action to a GitHub (via GitHub App) source action](update-github-action-connections.md).

**Note**  
While we don’t recommend using the GitHub (via OAuth app) action, existing pipelines with the GitHub (via OAuth app) action will continue to work without any impact.

Learn more:
+ For more information about OAuth-based GitHub (via OAuth app) access in contrast to app-based GitHub access, see [https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps](https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps).
+ To view an appendix that contains the GitHub (via OAuth app) action details, see [Appendix A: GitHub (via OAuth app) source actions](appendix-github-oauth.md).

## Build action integrations
<a name="integrations-build"></a>

The following information is organized by CodePipeline action type and can help you configure CodePipeline to integrate with the following build action providers.

**Topics**
+ [CodeBuild build actions](#integrations-build-codebuild)
+ [CloudBees build actions](#integrations-build-cloudbees)
+ [Amazon ECR build and publish actions](#integrations-build-ECRBuildAndPublish)
+ [Jenkins build actions](#integrations-build-jenkins)
+ [TeamCity build actions](#integrations-build-teamcity)

### CodeBuild build actions
<a name="integrations-build-codebuild"></a>

[CodeBuild](http://aws.amazon.com/codebuild/) is a fully managed build service that compiles your source code, runs unit tests, and produces artifacts that are ready to deploy.

You can add CodeBuild as a build action to the build stage of a pipeline. For more information, see the CodePipeline Action Configuration Reference for [AWS CodeBuild build and test action reference](action-reference-CodeBuild.md).

**Note**  
CodeBuild can also be included in a pipeline as a test action, with or without a build output.

Learn more: 
+ To view configuration parameters and an example JSON/YAML snippet, see [AWS CodeBuild build and test action reference](action-reference-CodeBuild.md).
+ [What Is CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/)
+ [CodeBuild – Fully Managed Build Service](http://aws.amazon.com/blogs/aws/aws-codebuild-fully-managed-build-service/)

### CloudBees build actions
<a name="integrations-build-cloudbees"></a>

You can configure CodePipeline to use [CloudBees](http://www.cloudbees.com) to build or test your code in one or more actions in a pipeline.

Learn more:
+ [re:INVENT 2017: Cloud First with AWS](https://www.cloudbees.com/blog/reinvent-2017-cloud-first-aws)

### Amazon ECR build and publish actions
<a name="integrations-build-ECRBuildAndPublish"></a>

[Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) is an AWS Docker image repository service. You use Docker push and pull commands to upload Docker images to your repository.

You can add the `ECRBuildAndPublish` action to your pipeline to automate building and pushing an image. For more information, see the CodePipeline Action configuration reference for [`ECRBuildAndPublish` build action reference](action-reference-ECRBuildAndPublish.md).

### Jenkins build actions
<a name="integrations-build-jenkins"></a>

You can configure CodePipeline to use [Jenkins CI](https://jenkins-ci.org/) to build or test your code in one or more actions in a pipeline. You must have previously created a Jenkins project and installed and configured the CodePipeline Plugin for Jenkins for that project. You can connect to the Jenkins project by either creating a new pipeline or editing an existing one.

Access for **Jenkins ** is configured on a per-project basis. You must install the CodePipeline Plugin for Jenkins on every Jenkins instance you want to use with CodePipeline. You must also configure CodePipeline access to the Jenkins project. Secure your Jenkins project by configuring it to accept HTTPS/SSL connections only. If your Jenkins project is installed on an Amazon EC2 instance, consider providing your AWS credentials by installing the AWS CLI on each instance. Then configure an AWS profile on those instances with the credentials you want to use for connections. This is an alternative to adding and storing them through the Jenkins web interface. 

Learn more:
+  [Accessing Jenkins](https://wiki.jenkins.io/display/JENKINS/Starting+and+Accessing+Jenkins) 
+  [Tutorial: Create a four-stage pipeline](tutorials-four-stage-pipeline.md)

### TeamCity build actions
<a name="integrations-build-teamcity"></a>

You can configure CodePipeline to use [TeamCity](https://www.jetbrains.com/teamcity/) to build and test your code in one or more actions in a pipeline.

Learn more:
+ [TeamCity Plugin for CodePipeline](https://plugins.jetbrains.com/plugin/9213-aws-codepipeline)

## Test action integrations
<a name="integrations-test"></a>

The following information is organized by CodePipeline action type and can help you configure CodePipeline to integrate with the following test action providers.

**Topics**
+ [CodeBuild test actions](#integrations-test-codebuild)
+ [AWS Device Farm test actions](#integrations-test-devicefarm)
+ [Ghost Inspector test actions](#integrations-test-ghostinspector)
+ [OpenText LoadRunner Cloud test actions](#integrations-test-stormrunner)
+ [Reflect test automation](#integrations-test-reflect)

### CodeBuild test actions
<a name="integrations-test-codebuild"></a>

[CodeBuild](http://aws.amazon.com/codebuild/) is a fully managed build service in the cloud. CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. 

You can add CodeBuild to a pipeline as a test action. For more information, see the CodePipeline Action Configuration Reference for [AWS CodeBuild build and test action reference](action-reference-CodeBuild.md).

**Note**  
CodeBuild can also be included in a pipeline as a build action, with a mandatory build output artifact.

Learn more: 
+ To view configuration parameters and an example JSON/YAML snippet, see [AWS CodeBuild build and test action reference](action-reference-CodeBuild.md).
+ [What Is CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/)

### AWS Device Farm test actions
<a name="integrations-test-devicefarm"></a>

[AWS Device Farm](http://aws.amazon.com/devicefarm/) is an app testing service that you can use to test and interact with your Android, iOS, and web applications on real, physical phones and tablets. You can configure CodePipeline to use AWS Device Farm to test your code in one or more actions in a pipeline. AWS Device Farm allows you to upload your own tests or use built-in, script-free compatibility tests. Because testing is performed in parallel, tests on multiple devices begin in minutes. A test report that contains high-level results, low-level logs, pixel-to-pixel screenshots, and performance data is updated as tests are completed. AWS Device Farm supports testing of native and hybrid Android, iOS, and Fire OS apps, including those created with PhoneGap, Titanium, Xamarin, Unity, and other frameworks. It supports remote access of Android apps, which allows you to interact directly with test devices.

Learn more:
+ To view configuration parameters and an example JSON/YAML snippet, see [AWS Device Farm test action reference](action-reference-DeviceFarm.md).
+ [What Is AWS Device Farm?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/)
+ [Using AWS Device Farm in a CodePipeline Test Stage](https://docs.aws.amazon.com/devicefarm/latest/developerguide/codepipeline.html)

### Ghost Inspector test actions
<a name="integrations-test-ghostinspector"></a>

You can configure CodePipeline to use [Ghost Inspector](https://ghostinspector.com/) to test your code in one or more actions in a pipeline. 

Learn more:
+ [Ghost Inspector documentation for service integration with CodePipeline](https://ghostinspector.com/docs/integration/aws-codepipeline/)

### OpenText LoadRunner Cloud test actions
<a name="integrations-test-stormrunner"></a>

You can configure CodePipeline to use [OpenText LoadRunner Cloud](https://www.opentext.com/products/loadrunner-cloud) in one or more actions in a pipeline.

Learn more:
+ [LoadRunner Cloud documentation for integrating with CodePipeline](https://admhelp.microfocus.com/lrc/en/24.1/Content/Storm/LoadTestWithAWSPipeline.htm)

### Reflect test automation
<a name="integrations-test-reflect"></a>

[Reflect](https://reflect.run/docs/integrations/continuous-integration/#aws-codepipeline) is the AI-powered test automation solution that empowers you to simplify testing and overcome the challenges of manual processes. With no-code test automation, Reflect streamlines test creation, execution, and maintenance, enabling you to create robust, repeatable tests without requiring any technical knowledge. By eliminating complexity and ensuring minimal disruption to your workflows, it helps you accelerate testing and confidently deliver high-quality applications every time.

Learn more:
+ [AWS CodePipeline test integration with Reflect](https://reflect.run/docs/integrations/continuous-integration/#aws-codepipeline)

## Deploy action integrations
<a name="integrations-deploy"></a>

The following information is organized by CodePipeline action type and can help you configure CodePipeline to integrate with the following deploy action providers.

**Topics**
+ [Amazon EC2 deploy actions](#integrations-deploy-S3)
+ [Amazon Elastic Kubernetes Service `EKS` deploy actions](#integrations-deploy-EKS)
+ [Amazon S3 deploy actions](#integrations-deploy-S3)
+ [AWS AppConfig deploy actions](#integrations-deploy-AppConfig)
+ [CloudFormation deploy actions](#integrations-deploy-CloudFormation)
+ [CloudFormation StackSets deploy actions](#integrations-deploy-StackSets)
+ [Amazon ECS deploy actions](#integrations-deploy-ECS)
+ [Elastic Beanstalk deploy actions](#integrations-deploy-beanstalk)
+ [OpsWorks deploy actions](#integrations-deploy-opsworks)
+ [Service Catalog deploy actions](#integrations-deploy-servicecatalog)
+ [Amazon Alexa deploy actions](#integrations-deploy-alexa)
+ [CodeDeploy deploy actions](#integrations-deploy-CodeDeploy)
+ [XebiaLabs deploy actions](#integrations-deploy-xebialabs)

### Amazon EC2 deploy actions
<a name="integrations-deploy-S3"></a>

[Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) allows you to create and manage compute in the cloud. You can add an action to a pipeline that uses Amazon EC2 as a deployment provider that deploys your application to your instances.

Learn more:
+ See the action reference page at [Amazon EC2 action reference](action-reference-EC2Deploy.md).
+ For a tutorial, see [Tutorial: Deploy to Amazon EC2 instances with CodePipeline](tutorials-ec2-deploy.md).

### Amazon Elastic Kubernetes Service `EKS` deploy actions
<a name="integrations-deploy-EKS"></a>

[Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/) allows you to create and manage kubernetes clusters. You can add an action to a pipeline that uses Amazon EKS as a deployment provider that deploys your image to your cluster. You can use helm templates or kubernetes manifest files.

Learn more:
+ See the action reference page at [Amazon Elastic Kubernetes Service `EKS` deploy action reference](action-reference-EKS.md).
+ For a tutorial, see [Tutorial: Deploy to Amazon EKS with CodePipeline](tutorials-eks-deploy.md).

### Amazon S3 deploy actions
<a name="integrations-deploy-S3"></a>

[Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) is storage for the internet. You can use Amazon S3 to store and retrieve any amount of data at any time, from anywhere on the web. You can add an action to a pipeline that uses Amazon S3 as a deployment provider.

**Note**  
Amazon S3 can also be included in a pipeline as a source action.

Learn more:
+ [Create a pipeline, stages, and actions](pipelines-create.md)
+ [Tutorial: Create a pipeline that uses Amazon S3 as a deployment provider](tutorials-s3deploy.md)

### AWS AppConfig deploy actions
<a name="integrations-deploy-AppConfig"></a>

AWS AppConfig is a capability of AWS Systems Manager to create, manage, and quickly deploy application configurations. You can use AppConfig with applications hosted on EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices.

Learn more:
+ CodePipeline Action Configuration Reference for [AWS AppConfig deploy action reference](action-reference-AppConfig.md)
+ [Tutorial: Create a pipeline that uses AWS AppConfig as a deployment provider](tutorials-AppConfig.md)

### CloudFormation deploy actions
<a name="integrations-deploy-CloudFormation"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, using templates to provision and update those resources. You can use the service’s sample templates or create your own. Templates describe the AWS resources and any dependencies or runtime parameters required to run your application.

The AWS Serverless Application Model (AWS SAM) extends CloudFormation to provide a simplified way to define and deploy serverless applications. AWS SAM supports Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables. You can use CodePipeline with CloudFormation and the AWS SAM to continuously deliver your serverless applications.

You can add an action to a pipeline that uses AWS CloudFormation as a deployment provider. When you use AWS CloudFormation as a deployment provider, you can take action on CloudFormation stacks and change sets as part of a pipeline execution. CloudFormation can create, update, replace, and delete stacks and change sets when a pipeline runs. As a result, AWS and custom resources can be created, provisioned, updated, or terminated during a pipeline execution according to the specifications you provide in CloudFormation templates and parameter definitions.

Learn more:
+ CodePipeline Action Configuration Reference for [CloudFormation deploy action reference](action-reference-CloudFormation.md)
+ [Continuous Delivery with CodePipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline.html) — Learn how to use CodePipeline to build a continuous delivery workflow for CloudFormation.
+ [Automating Deployment of Lambda-based Applications](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html) — Learn how to use the AWS Serverless Application Model and CloudFormation to build a continuous delivery workflow for your Lambda-based application.

### CloudFormation StackSets deploy actions
<a name="integrations-deploy-StackSets"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) gives you a way to deploy resources across multiple accounts and AWS Regions.

You can use CodePipeline with CloudFormation to update your stack set definition and deploy updates to your instances.

You can add the following actions to a pipeline to use AWS CloudFormation StackSets as a deployment provider.
+ CloudFormationStackSet
+ CloudFormationStackInstances

Learn more:
+ CodePipeline Action Configuration Reference for [CloudFormation StackSets deploy action reference](action-reference-StackSets.md)
+ [Tutorial: Create a pipeline with AWS CloudFormation StackSets deployment actions](tutorials-stackset-deployment.md)

### Amazon ECS deploy actions
<a name="integrations-deploy-ECS"></a>

Amazon ECS is a highly scalable, high performance container management service that allows you to run container-based applications in the AWS Cloud. When you create a pipeline, you can select Amazon ECS as a deployment provider. A change to code in your source control repository triggers your pipeline to build a new Docker image, push it to your container registry, and then deploy the updated image to Amazon ECS. You can also use the **ECS (Blue/Green)** provider action in CodePipeline to route and deploy traffic to Amazon ECS with CodeDeploy.

Learn more:
+ [What Is Amazon ECS?](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)
+ [Tutorial: Continuous Deployment with CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html)
+ [Create a pipeline, stages, and actions](pipelines-create.md)
+ [Tutorial: Create a pipeline with an Amazon ECR source and ECS-to-CodeDeploy deployment](tutorials-ecs-ecr-codedeploy.md)

### Elastic Beanstalk deploy actions
<a name="integrations-deploy-beanstalk"></a>

[Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/) is a service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. You can configure CodePipeline to use Elastic Beanstalk to deploy your code. You can create the Elastic Beanstalk application and environment to use in a deploy action in a stage either before you create the pipeline or when you use the **Create Pipeline** wizard.

**Note**  
This feature is not available in the Asia Pacific (Hyderabad), Asia Pacific (Melbourne), Middle East (UAE), Europe (Spain), or Europe (Zurich) Regions. To reference other available actions, see [Product and service integrations with CodePipeline](integrations.md).

Learn more:
+ [Getting started using Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.Walkthrough.html)
+ [Create a pipeline, stages, and actions](pipelines-create.md)

### OpsWorks deploy actions
<a name="integrations-deploy-opsworks"></a>

OpsWorks is a configuration management service that helps you configure and operate applications of all shapes and sizes using Chef. Using AWS OpsWorks Stacks, you can define the application’s architecture and the specification of each component including package installation, software configuration and resources such as storage. You can configure CodePipeline to use AWS OpsWorks Stacks to deploy your code in conjunction with custom Chef cookbooks and applications in OpsWorks.
+ **Custom Chef Cookbooks** – OpsWorks uses Chef Cookbooks to handle tasks such as installing and configuring packages and deploying applications.
+ **Applications** – An OpsWorks applications consists of code that you want to run on an application server. The application code is stored in a repository, such as an Amazon S3 bucket.

Before you create the pipeline, you create the OpsWorks stack and layer. You can create the OpsWorks application to use in a deploy action in a stage either before you create the pipeline or when you use the **Create Pipeline** wizard.

CodePipeline support for OpsWorks is currently available in the US East (N. Virginia) Region (us-east-1) only.

Learn more: 
+ [Using CodePipeline with AWS OpsWorks Stacks](https://docs.aws.amazon.com/opsworks/latest/userguide/other-services-cp.html)
+ [Cookbooks and Recipes](https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html)
+ [AWS OpsWorks Apps](https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps.html)

### Service Catalog deploy actions
<a name="integrations-deploy-servicecatalog"></a>

[Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/dg/) enables organizations to create and manage catalogs of products that are approved for use on AWS.

You can configure CodePipeline to deploy updates and versions of your product templates to Service Catalog. You can create the Service Catalog product to use in a deployment action and then use the **Create Pipeline** wizard to create the pipeline.

Learn more:
+ [Tutorial: Create a pipeline that deploys to Service Catalog](tutorials-S3-servicecatalog.md)
+ [Create a pipeline, stages, and actions](pipelines-create.md)

### Amazon Alexa deploy actions
<a name="integrations-deploy-alexa"></a>



[Amazon Alexa Skills Kit](https://developer.amazon.com/docs/custom-skills/use-the-alexa-skills-kit-samples.html) lets you build and distribute cloud-based skills to users of Alexa-enabled devices.

**Note**  
This feature is not available in the Asia Pacific (Hong Kong) or Europe (Milan) Region. To use other deploy actions available in that Region, see [Deploy action integrations](#integrations-deploy).

You can add an action to a pipeline that uses Alexa Skills Kit as a deployment provider. Source changes are detected by your pipeline, and then your pipeline deploys updates to your Alexa skill in the Alexa service.

Learn more:
+ [Tutorial: Create a pipeline that deploys an Amazon Alexa skill](tutorials-alexa-skills-kit.md)

### CodeDeploy deploy actions
<a name="integrations-deploy-CodeDeploy"></a>

[CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/) coordinates application deployments to Amazon EC2/on-premises instances, Amazon Elastic Container Service compute platforms, and serverless AWS Lambda compute platforms. You can configure CodePipeline to use CodeDeploy to deploy your code. You can create the CodeDeploy application, deployment, and deployment group to use in a deploy action in a stage either before you create the pipeline or when you use the **Create Pipeline** wizard.

Learn more:
+ [Step 3: Create an application in CodeDeploy](tutorials-simple-s3.md#S3-create-deployment)
+ [Tutorial: Create a simple pipeline (CodeCommit repository)](tutorials-simple-codecommit.md)

### XebiaLabs deploy actions
<a name="integrations-deploy-xebialabs"></a>

 You can configure CodePipeline to use [XebiaLabs](https://xebialabs.com/) to deploy your code in one or more actions in a pipeline. 

Learn more:
+ [Using XL Deploy with CodePipeline](https://legacydocs.xebialabs.com/xl-deploy/how-to/using-xl-deploy-with-aws-codepipeline.html)

## Approval action integration with Amazon Simple Notification Service
<a name="integrations-approval"></a>

[Amazon SNS](https://docs.aws.amazon.com/sns/latest/gsg/) is a fast, flexible, fully managed push notification service that lets you send individual messages or to fan out messages to large numbers of recipients. Amazon SNS makes it simple and cost effective to send push notifications to mobile device users, email recipients or even send messages to other distributed services.

When you create a manual approval request in CodePipeline, you can optionally publish to a topic in Amazon SNS so that all IAM users subscribed to it are notified that the approval action is ready to be reviewed.

Learn more:
+ [What Is Amazon SNS?](https://docs.aws.amazon.com/sns/latest/gsg/)
+ [Grant Amazon SNS permissions to a CodePipeline service role](approvals-service-role-permissions.md)

## Invoke action integrations
<a name="integrations-invoke"></a>

The following information is organized by CodePipeline action type and can help you configure CodePipeline to integrate with the following invoke action providers.

**Topics**
+ [Amazon Inspector invoke actions](#integrations-invoke-InspectorScan)
+ [Lambda invoke actions](#integrations-invoke-Lambda)
+ [Step Functions invoke actions](#w2aac11b9c17c11)

### Amazon Inspector invoke actions
<a name="integrations-invoke-InspectorScan"></a>

[Amazon Inspector](http://aws.amazon.com/inspector/) is a vulnerability management service that automatically discovers workloads and continually scans them for software vulnerabilities and unintended network exposure. Amazon Inspector supports multiple archive formats including tar and war, and Amazon Inspector supports binaries including Rust and Go binaries. 

You can configure the CodePipeline `InspectorScan` action to automate scanning your source code or Amazon ECR image repository for vulnerabilities. 

Learn more:
+ CodePipeline action configuration reference for [Amazon Inspector `InspectorScan` invoke action reference](action-reference-InspectorScan.md)

### Lambda invoke actions
<a name="integrations-invoke-Lambda"></a>

[Lambda](https://docs.aws.amazon.com/lambda/latest/dg/) lets you run code without provisioning or managing servers. You can configure CodePipeline to use Lambda functions to add flexibility and functionality to your pipelines. You can create the Lambda function to add as an action in a stage either before you create the pipeline or when you use the **Create Pipeline** wizard.

Learn more:
+ CodePipeline Action configuration reference for [AWS Lambda invoke action reference](action-reference-Lambda.md)
+ [Invoke an AWS Lambda function in a pipeline in CodePipeline](actions-invoke-lambda-function.md)

### Step Functions invoke actions
<a name="w2aac11b9c17c11"></a>

[Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/) lets you create and configure state machines. You can configure CodePipeline to use Step Functions invoke actions to trigger state machine executions.

Learn more:
+ CodePipeline Action Configuration Reference for [AWS Step Functions invoke action reference](action-reference-StepFunctions.md)
+ [Tutorial: Use an AWS Step Functions invoke action in a pipeline](tutorials-step-functions.md)

# General integrations with CodePipeline
<a name="integrations-general"></a>

The following AWS service integrations are not based on CodePipeline action types.


|  |  | 
| --- |--- |
| Amazon CloudWatch |  [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/) monitors your AWS resources. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-general.html)  | 
| Amazon EventBridge | [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/) is a web service that detects changes in your AWS services based on rules that you define and invokes an action in one or more specified AWS services when a change occurs.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-general.html) | 
| AWS Cloud9 |  AWS Cloud9 is an online IDE, which you access through your web browser. The IDE offers a rich code editing experience with support for several programming languages and runtime debuggers, as well as a built-in terminal. In the background, an Amazon EC2 instance hosts an AWS Cloud9 development environment. For more information, see the *[AWS Cloud9 User Guide](https://docs.aws.amazon.com/cloud9/latest/user-guide/)*.  Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-general.html)  | 
| AWS CloudTrail |  [CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) captures AWS API calls and related events made by or on behalf of an AWS account and delivers log files to an Amazon S3 bucket that you specify. You can configure CloudTrail to capture API calls from the CodePipeline console, CodePipeline commands from the AWS CLI, and from the CodePipeline API. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-general.html)  | 
| AWS CodeStar Notifications | You can set up notifications to make users aware of important changes, such as when a pipeline starts execution. For more information, see [Create a notification rule](notification-rule-create.md). | 
| AWS Key Management Service |  [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data. By default, CodePipeline uses AWS KMS to encrypt artifacts for pipelines stored in Amazon S3 buckets. Learn more: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-general.html) For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.   Aliases are recognized only in the account that created the KMS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).   | 

# Examples from the community
<a name="integrations-community"></a>

The following sections provide links to blog posts, articles, and community-provided examples.

**Note**  
These links are provided for informational purposes only, and should not be considered either a comprehensive list or an endorsement of the content of the examples. AWS is not responsible for the content or accuracy of external content.

**Topics**
+ [Integration examples: Blog posts](integrations-community-blogposts.md)

# Integration examples: Blog posts
<a name="integrations-community-blogposts"></a>
+ [Tracking the AWS CodePipeline build status from the third-party Git repository](https://aws.amazon.com/blogs/devops/aws-codepipeline-build-status-in-a-third-party-git-repository/)

  Learn how to set up resources that will display your pipeline and build action status in your third-party repository, making it easy for the developer to track status without switching context.

  *Published March 2021*
+ [Complete CI/CD with AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS CodePipeline](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/)

  Learn how to set up a pipeline that uses the CodeCommit, CodePipeline, CodeBuild, and CodeDeploy services to compile, build, and install a version-controlled Java application onto a set of Amazon EC2 Linux instances.

  *Published September 2020*
+ [Testing and creating CI/CD pipelines for AWS Step Functions](https://aws.amazon.com/blogs/devops/testing-and-creating-ci-cd-pipelines-for-aws-step-functions-using-aws-codepipeline-and-aws-codebuild/?nc1=b_rp)

  Learn how to set up resources that will coordinate your Step Functions state machine and your pipeline.

  *Published March 2020*
+ [Implementing DevSecOps Using CodePipeline](https://aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/)

  Learn how to use a CI/CD pipeline in CodePipeline to automate preventive and detective security controls. This post covers how to use a pipeline to create a simple security group and perform security checks during the source, test, and production stages to improve the security posture of your AWS accounts.

  *Published March 2017*
+ [Continuous Deployment to Amazon ECS Using CodePipeline, CodeBuild, Amazon ECR, and CloudFormation](https://aws.amazon.com/blogs/compute/continuous-deployment-to-amazon-ecs-using-aws-codepipeline-aws-codebuild-amazon-ecr-and-aws-cloudformation/)

  Learn how to create a continuous deployment pipeline to Amazon Elastic Container Service (Amazon ECS). Applications are delivered as Docker containers using CodePipeline, CodeBuild, Amazon ECR, and CloudFormation. 
  + Download a sample CloudFormation template and instructions for using it to create your own continuous deployment pipeline from the [ECS Reference Architecture: Continuous Deployment](https://github.com/awslabs/ecs-refarch-continuous-deployment) repo on GitHub.

  *Published January 2017*
+ [Continuous Deployment for Serverless Applications](https://aws.amazon.com/blogs/compute/continuous-deployment-for-serverless-applications/)

  Learn how to use a collection of AWS services to create a continuous deployment pipeline for your serverless applications. You'll use the Serverless Application Model (SAM) to define the application and its resources and CodePipeline to orchestrate your application deployment. 
  + [View a sample application](https://gist.github.com/SAPessi/246b278b6b7502b157a9fbaf3981d103) written in Go with the Gin framework and an API Gateway proxy shim.

  *Published December 2016*
+ [Scaling DevOps Deployments with CodePipeline and Dynatrace](https://www.dynatrace.com/blog/scaling-devops-deployments-with-aws-codepipeline-dynatrace/)

  Learn how use Dynatrace monitoring solutions to scale pipelines in CodePipeline, automatically analyze test executions before code is committed, and maintain optimal lead times.

  *Published November 2016*
+ [Create a Pipeline for AWS Elastic Beanstalk in CodePipeline Using AWS CloudFormation and CodeCommit](http://www.stelligent.com/automation/create-a-pipeline-for-elastic-beanstalk-in-codepipeline-using-cloudformation-and-codecommit/)

  Learn how to implement continuous delivery in a CodePipeline pipeline for an application in AWS Elastic Beanstalk. All AWS resources are provisioned automatically through the use of an CloudFormation template. This walkthrough also incorporates CodeCommit and AWS Identity and Access Management (IAM).

  *Published May 2016*
+ [Automate CodeCommit and CodePipeline in CloudFormation](http://www.stelligent.com/automation/automate-codecommit-and-codepipeline-in-aws-cloudformation/)

  Use CloudFormation to automate the provisioning of AWS resources for a continuous delivery pipeline that uses CodeCommit, CodePipeline, CodeDeploy, and AWS Identity and Access Management.

  *Published April 2016*
+ [Create a Cross-Account Pipeline in AWS CodePipeline](http://www.stelligent.com/automation/create-a-cross-account-pipeline-in-aws-cloudformation/)

  Learn how to automate the provisioning of cross-account access to pipelines in AWS CodePipeline by using AWS Identity and Access Management. Includes examples in an CloudFormation template.

  *Published March 2016*
+ [Exploring ASP.NET Core Part 2: Continuous Delivery](https://blogs.aws.amazon.com/net/post/Tx2EHIJAM9LIW8G/Exploring-ASP-NET-Core-Part-2-Continuous-Delivery)

  Learn how to create a full continuous delivery system for an ASP.NET Core application using CodeDeploy and AWS CodePipeline.

  *Published March 2016*
+ [Create a Pipeline Using the AWS CodePipeline Console](http://www.stelligent.com/cloud/create-a-pipeline-using-the-aws-codepipeline-console/)

  Learn how to use the AWS CodePipeline console to create a two-stage pipeline in a walkthrough based on the AWS CodePipeline [Tutorial: Create a four-stage pipeline](tutorials-four-stage-pipeline.md).

  *Published March 2016*
+ [Mocking AWS CodePipeline Pipelines with AWS Lambda](http://www.stelligent.com/automation/mocking-aws-codepipeline-pipelines-with-lambda/)

  Learn how to invoke a Lambda function that lets you visualize the actions and stages in a CodePipeline software delivery process as you design it, before the pipeline is operational. As you design your pipeline structure, you can use the Lambda function to test whether your pipeline will complete successfully.

  *Published February 2016*
+ [Running AWS Lambda Functions in CodePipeline Using AWS CloudFormation](http://www.stelligent.com/automation/aws-lambda-functions-aws-codepipeline-cloudformation/)

  Learn how to create an AWS CloudFormation stack that provisions all the AWS resources used in the user guide task [Invoke an AWS Lambda function in a pipeline in CodePipeline](actions-invoke-lambda-function.md).

  *Published February 2016*
+ [Provisioning Custom CodePipeline Actions in AWS CloudFormation](http://www.stelligent.com/automation/provisioning-custom-codepipeline-actions-in-cloudformation/)

  Learn how to use AWS CloudFormation to provision custom actions in CodePipeline.

  *Published January 2016*
+ [Provisioning CodePipeline with AWS CloudFormation](http://www.stelligent.com/automation/provisioning-aws-codepipeline-with-cloudformation/)

  Learn how to provision a basic continuous delivery pipeline in CodePipeline using AWS CloudFormation.

  *Published December 2015*
+ [Deploying from CodePipeline to OpsWorks Using a Custom Action and AWS Lambda](http://hipsterdevblog.com/blog/2015/07/28/deploying-from-codepipeline-to-opsworks-using-a-custom-action-and-lambda/)

  Learn how to configure your pipeline and the AWS Lambda function to deploy to AWS OpsWorks using CodePipeline.

  *Published July 2015*