Integrations with CodePipeline action types - AWS CodePipeline

Integrations with CodePipeline action types

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

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.

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:

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:

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.

Note

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.

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 CodestarSourceConnection action in the CLI. See GitHub connections.

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 CodestarSourceConnection action in the CLI. See GitHub Enterprise Server connections.

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 CodestarSourceConnection action with the GitLab provider in the CLI. See GitLab.com connections.

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 CodestarSourceConnection action in the CLI. See Connections for GitLab self-managed.

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:

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:

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.

CodeBuild build actions

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.

Note

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

Learn more:

CloudBees build actions

You can configure CodePipeline to use CloudBees to build or test your code in one or more actions in a pipeline.

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 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:

TeamCity build actions

You can configure CodePipeline to use TeamCity to build and test your code in one or more actions in a pipeline.

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.

CodeBuild test actions

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.

Note

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

Learn more:

AWS Device Farm test actions

AWS Device Farm 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:

Ghost Inspector test actions

You can configure CodePipeline to use Ghost Inspector to test your code in one or more actions in a pipeline.

Learn more:

OpenText LoadRunner Cloud test actions

You can configure CodePipeline to use OpenText LoadRunner Cloud in one or more actions in a pipeline.

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.

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:

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:

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:

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 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.

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 to deploy your code in one or more actions in a pipeline.

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.

Amazon Inspector invoke actions

Amazon 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:

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:

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:

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: