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 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 Simple Storage Service (Amazon S3)

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, GitHub (version 2), and GitHub Enterprise Server

Connections (CodestarSourceConnection actions) are used to access your third-party Bitbucket, GitHub, or GitHub Enterprise Server repository.

Bitbucket

You can configure CodePipeline to use a Bitbucket repository as the source for your code. You must have previously created a Bitbucket account and at least one Bitbucket repository. You can add a source action for your Bitbucket 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 AWS CodeStar app with your third-party code repository, and then associate it with your connection.

For Bitbucket, use the Bitbucket option in the console or the CodestarSourceConnection action in the CLI. See Bitbucket 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 AWS CodeStar app with your third-party code repository, and then associate it with your connection.

Use the GitHub (Version 2) 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:

  • To view configuration parameters and an example JSON/YAML snippet, see CodeStarSourceConnection

  • For a tutorial that shows you how to connect to a GitHub repository and use the Full clone option, see Tutorial: Use full clone with a GitHub pipeline source.

  • The current GitHub action is the version 2 source action for GitHub. The version 1 GitHub action is managed with OAuth token authentication. While we don’t recommend using the GitHub version 1 action, existing pipelines with the GitHub version 1 action will continue to work without any impact. You can now use a CodeStarSourceConnection source action in your pipeline that manages your GitHub source action with GitHub apps. If you have a pipeline that uses the version 1 GitHub action, see the steps to update it to use a version 2 GitHub action in Update a GitHub version 1 source action to a GitHub version 2 source action.

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

Important

AWS CodeStar Connections does not support GitHub Enterprise Server version 2.22.0 due to a known issue in the release. To connect, upgrade to version 2.22.1 or the latest available version.

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

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.

Learn more:

GitHub (version 1) source actions

GitHub (version 1)

The GitHub version 1 action is managed with OAuth Apps. In available Regions, you can also use a CodeStarSourceConnection source action in your pipeline that manages your GitHub source action with GitHub Apps. If you have a pipeline that uses the GitHub version 1 action, see the steps to update it to use a GitHub version 2 action in Update a GitHub version 1 source action to a GitHub version 2 source action.

Note

While we don’t recommend using the GitHub version 1 action, existing pipelines with the GitHub version 1 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

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.

Note

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

Learn more:

CloudBees build actions

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

Learn more:

Jenkins build actions

Jenkins

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 IAM user profile and AWS 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

TeamCity

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

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.

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

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:

BlazeMeter test actions

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

Learn more:

Ghost Inspector test actions

Ghost Inspector

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

Learn more:

Micro Focus StormRunner Load test actions

Micro Focus StormRunner Load You can configure CodePipeline to use Micro Focus StormRunner Load in one or more actions in a pipeline.

Learn more:

Nouvola test actions

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

Learn more:

Runscope test actions

Runscope You can configure CodePipeline to use Runscope to test your code 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

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

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

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:

Amazon ECS deploy actions

Amazon ECS

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

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.

Learn more:

AWS OpsWorks deploy actions

AWS OpsWorks

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:

AWS Service Catalog deploy actions

AWS Service Catalog

AWS 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 AWS Service Catalog. You can create the AWS 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

Alexa Skills Kit

Amazon Alexa Skills Kit lets you build and distribute cloud-based skills to users of Alexa-enabled devices.

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

CodeDeploy coordinates application deployments to Amazon EC2 instances, on-premises instances, or both. 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

XebiaLabs You can configure CodePipeline to use XebiaLabs to deploy your code in one or more actions in a pipeline.

Learn more:

Approval action integrations

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 deploy action providers.

Lambda invoke actions

Lambda

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:

Step Functions invoke actions

Step Functions

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: