Integrations with CodePipeline action types
The integrations information in this topic is organized by CodePipeline action type.
Topics
Source action integrations
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
Amazon ECR 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
-
Tutorial: Create a pipeline with an Amazon ECR source and ECS-to-CodeDeploy deployment
Amazon S3 source actions
Amazon S3 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
-
CodePipeline uses Amazon EventBridge (previously Amazon CloudWatch Events) to detect changes in your Amazon S3 source bucket. See General integrations with CodePipeline.
Connections to Bitbucket Cloud, GitHub (via GitHub App), GitHub Enterprise Server, GitLab.com, and GitLab self-managed
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. 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.
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. NoteYou 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 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:
|
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 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:
|
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 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:
|
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
Learn more:
|
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 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:
|
CodeCommit source actions
CodeCommit 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.
-
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.
GitHub (via OAuth app) source actions
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 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.
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
. -
To view an appendix that contains the GitHub (via OAuth app) action details, see Appendix A: GitHub (via OAuth app) source actions.
Build action integrations
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
CodeBuild
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.
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.
CloudBees build actions
You can configure CodePipeline to use CloudBees
Learn more:
Amazon ECR build and publish actions
Amazon ECR 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.
Jenkins build actions
You can configure CodePipeline to use Jenkins CI
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:
TeamCity build actions
You can configure CodePipeline to use TeamCity
Learn more:
Test action integrations
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
CodeBuild
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.
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.
AWS Device Farm test actions
AWS Device Farm
Learn more:
-
To view configuration parameters and an example JSON/YAML snippet, see AWS Device Farm test action reference.
Ghost Inspector test actions
You can configure CodePipeline to use Ghost
Inspector
Learn more:
OpenText LoadRunner Cloud test actions
You can configure CodePipeline to
use OpenText LoadRunner Cloud
Learn more:
Deploy action integrations
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 S3 deploy actions
- AWS AppConfig deploy actions
- AWS CloudFormation deploy actions
- AWS CloudFormation StackSets deploy actions
- Amazon ECS deploy actions
- Elastic Beanstalk deploy actions
- AWS OpsWorks deploy actions
- Service Catalog deploy actions
- Amazon Alexa deploy actions
- CodeDeploy deploy actions
- XebiaLabs deploy actions
Amazon S3 deploy actions
Amazon S3 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:
AWS AppConfig deploy actions
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
-
Tutorial: Create a pipeline that uses AWS AppConfig as a deployment provider
AWS CloudFormation deploy actions
AWS CloudFormation 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 AWS 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 AWS 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 AWS CloudFormation stacks and change sets as part of a pipeline execution. AWS 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 AWS CloudFormation templates and parameter definitions.
Learn more:
-
CodePipeline Action Configuration Reference for AWS CloudFormation deploy action reference
-
Continuous Delivery with CodePipeline — Learn how to use CodePipeline to build a continuous delivery workflow for AWS CloudFormation.
-
Automating Deployment of Lambda-based Applications — Learn how to use the AWS Serverless Application Model and AWS CloudFormation to build a continuous delivery workflow for your Lambda-based application.
AWS CloudFormation StackSets deploy actions
AWS CloudFormation gives you a way to deploy resources across multiple accounts and AWS Regions.
You can use CodePipeline with AWS 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 AWS CloudFormation StackSets deploy action reference
-
Tutorial: Create a pipeline with AWS CloudFormation StackSets deployment actions
Amazon ECS deploy actions
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:
Elastic Beanstalk deploy actions
Elastic Beanstalk 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.
Learn more:
AWS OpsWorks deploy actions
AWS 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 AWS OpsWorks.
-
Custom Chef Cookbooks – AWS OpsWorks uses Chef Cookbooks to handle tasks such as installing and configuring packages and deploying applications.
-
Applications – An AWS 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 AWS OpsWorks stack and layer. You can create the AWS 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 AWS OpsWorks is currently available in the US East (N. Virginia) Region (us-east-1) only.
Learn more:
Service Catalog deploy actions
Service Catalog 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:
Amazon Alexa deploy actions
Amazon Alexa Skills Kit
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.
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:
CodeDeploy deploy actions
CodeDeploy 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:
XebiaLabs deploy actions
You can
configure CodePipeline to use XebiaLabs
Learn more:
Approval action integration with Amazon Simple Notification Service
Amazon SNS 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:
Invoke action integrations
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
Amazon Inspector
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
Lambda invoke actions
Lambda 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
Snyk invoke actions
You can configure CodePipeline to use Snyk to keep your open source environments secure by detecting and fixing security vulnerabilities and updating dependencies in your application code and container images. You can also use the Snyk action in CodePipeline to automate security testing controls in your pipeline.
Learn more:
-
CodePipeline Action Configuration Reference for Snyk invoke action reference
-
Automate vulnerability scanning in AWS CodePipeline with Snyk
Step Functions invoke actions
Step Functions 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
-
Tutorial: Use an AWS Step Functions invoke action in a pipeline