Menu
AWS CodePipeline
User Guide (API Version 2015-07-09)

Integrations with AWS CodePipeline Action Types

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

Source Action Integrations

The following information is organized by AWS CodePipeline action type and can help you configure AWS CodePipeline to integrate with the products and services you use.

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 AWS CodePipeline to use a versioned Amazon S3 bucket as the source stage for your code. You must first create the bucket and then enable versioning on it before you can create a pipeline that uses the bucket as part of a source action within a stage.

Learn more:

AWS CodeCommit

AWS CodeCommit is a version control service hosted by AWS that you can use to privately store and manage assets (such as documents, source code, and binary files) in the cloud. You can configure AWS CodePipeline to use a branch in an AWS CodeCommit repository as the source stage for your code. You must first create the repository and associate it with a working directory on your local machine before you can create a pipeline that uses the branch as part of a source action within a stage. You can connect to the AWS CodeCommit repository by either creating a new pipeline or editing an existing one.

AWS CodePipeline support for AWS CodeCommit is currently available in the following regions only:

  • US East (Ohio) Region (us-east-2)

  • US East (N. Virginia) Region (us-east-1)

  • US West (Oregon) Region (us-west-2)

  • EU (Ireland) Region (eu-west-1)

Learn more:

GitHub

You can configure AWS CodePipeline to use a GitHub repository as the source stage for your code. You must have previously created a GitHub account and at least one GitHub repository. You can connect to the GitHub repository by either creating a new pipeline or editing an existing one.

Note

AWS CodePipeline integration with GitHub Enterprise is not supported.

The first time you add a GitHub repository to a pipeline, you will be asked to authorize AWS CodePipeline access to your repositories. To integrate with GitHub, AWS CodePipeline uses OAuth tokens and requires the GitHub scope repo, which is used to read and pull artifacts from public and private repositories into a pipeline. For more information about GitHub scopes, see the GitHub Developer API Reference.

Note

There is a limit to the number of OAuth tokens you can use in GitHub for a particular application, such as AWS CodePipeline. Within a single AWS account, AWS CodePipeline will automatically update existing equivalent OAuth tokens to in an attempt to avoid exceeding this limit. If you exceed this limit as a result of connecting many AWS accounts with the same GitHub user account, you can use personal tokens. For more information, see To configure a pipeline to use a personal access token from GitHub.

Access for AWS CodePipeline is configured for all repositories to which that GitHub account has access; it cannot currently be configured for individual repositories. You can revoke this access from GitHub by choosing Settings, choosing Applications, and then, under Authorized applications, finding AWS CodePipeline in the list of authorized applications and choosing Revoke. Revoking access will immediately prevent AWS CodePipeline from accessing any GitHub repositories previously configured for access with that GitHub account.

If you want to limit the access AWS CodePipeline has to specific set of repositories, create a GitHub account, grant that account access to only the repositories you want to integrate with AWS CodePipeline, and then use that account when configuring AWS CodePipeline to use GitHub repositories for source stages in pipelines.

Learn more:

Build Action Integrations

AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy.

You can add AWS CodeBuild as a build action to the build stage of a pipeline. You can use an existing build project or create one in the AWS CodePipeline console. The output of the build project can then be deployed as part of a pipeline.

Note

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

Learn more:

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

Learn more:

Jenkins

You can configure AWS 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 AWS 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 AWS CodePipeline Plugin for Jenkins on every Jenkins instance you want to use with AWS CodePipeline. In addition, you must configure AWS CodePipeline access to the Jenkins project. You should 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 and configuring an AWS profile on those instances with the IAM user profile and AWS credentials you want to use for connections between AWS CodePipeline and Jenkins, rather than adding them or storing them through the Jenkins web interface.

Learn more:

Solano CI

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

Learn more:

TeamCity

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

Learn more:

Test Action Integrations

AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy.

You can add AWS CodeBuild to a pipeline as a test action to run unit tests against your code, with or without a build output artifact. If you generate an output artifact for the test action, it can be deployed as part of a pipeline. You can use an existing build project or create one in the AWS CodePipeline console.

Note

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

Learn more:

Apica

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

Learn more:

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

Learn more:

Ghost Inspector

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

Learn more:

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

Learn more:

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

Learn more:

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

Learn more:

Deploy Action Integrations

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 AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated 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 AWS CodePipeline with AWS CloudFormation and the AWS Serverless Application Model to continuously deliver your serverless applications.

You can add an action to a pipeline that uses AWS CloudFormation as a deployment provider. The unique role of AWS CloudFormation as a deployment provider enables you to 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 automatically during a pipeline execution according to the specifications you provide in AWS CloudFormation templates and parameter definitions.

Learn more:

AWS CodeDeploy

AWS CodeDeploy coordinates application deployments to Amazon EC2 instances, on-premise instances, or both. You can configure AWS CodePipeline to use AWS CodeDeploy to deploy your code. You can create the AWS CodeDeploy application, deployment, and deployment group to use in a deploy action within a stage either before you create the pipeline or when you use the Create Pipeline wizard.

Learn more:

AWS Elastic Beanstalk

Elastic Beanstalk is an easy-to-use 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 AWS CodePipeline to use Elastic Beanstalk to deploy your code. You can create the Elastic Beanstalk application and environment to use in a deploy action within a stage either before you create the pipeline or when you use the Create Pipeline wizard.

Learn more:

AWS OpsWorks Stacks

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

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

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

Learn more:

XebiaLabs You can configure AWS 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 an manual approval request in AWS CodePipeline, you can optionally publish to a topic in to Amazon SNS so that all IAM users subscribed to it are notified that the Approval action is ready to be approved or rejected.

Learn more:

Invoke Action Integrations

AWS Lambda

Lambda lets you run code without provisioning or managing servers. You can configure AWS 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: