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

What Is AWS CodePipeline?

AWS CodePipeline is a continuous delivery service you can use to model, visualize, and automate the steps required to release your software. You can quickly model and configure the different stages of a software release process. AWS CodePipeline automates the steps required to release your software changes continuously. For information about pricing for AWS CodePipeline, see Pricing.

Video Introduction to AWS CodePipeline

This short video (3:06) describes how AWS CodePipeline builds, tests, and deploys your code every time there is a code change, based on the release process models you define.

What Can I Do with AWS CodePipeline?

You can use AWS CodePipeline to help you automatically build, test, and deploy your applications in the cloud. Specifically, you can:

  • Automate your release processes: AWS CodePipeline fully automates your release process from end to end, starting from your source repository through build, test, and deployment. You can prevent changes from moving through a pipeline by including a manual approval action in any stage except a Source stage. You can automatically release when you want, in the way you want, on the systems of your choice, across one instance or multiple instances.

  • Establish a consistent release process: Define a consistent set of steps for every code change. AWS CodePipeline runs each stage of your release according to your criteria.

  • Speed up delivery while improving quality: You can automate your release process to allow your developers to test and release code incrementally and speed up the release of new features to your customers.

  • Use your favorite tools: You can incorporate your existing source, build, and deployment tools into your pipeline. For a full list of AWS services and third-party tools currently supported by AWS CodePipeline, see Product and Service Integrations.

  • View progress at-a-glance: You can review real-time status of your pipelines, check the details of any alerts, retry failed actions, view details about the source revisions used in the latest pipeline execution in each stage, and manually rerun any pipeline.

A Quick Look at AWS CodePipeline

The following diagram shows an example release process using AWS CodePipeline.


                An example release process using AWS CodePipeline.

In this example, when developers commit changes to a source repository, AWS CodePipeline automatically detects the changes. Those changes are built, and if any tests are configured, those tests are run. After the tests are complete, the built code is deployed to staging servers for testing. From the staging server, AWS CodePipeline runs additional tests, such as integration or load tests. Upon the successful completion of those tests, and after a manual approval action that was added to the pipeline is approved, AWS CodePipeline deploys the tested and approved code to production instances.

AWS CodePipeline can deploy applications to Amazon EC2 instances by using AWS CodeDeploy, AWS Elastic Beanstalk, or AWS OpsWorks Stacks. Developers can also use the integration points provided with AWS CodePipeline to plug in other tools or services, including build services, test providers, or other deployment targets or systems.

A pipeline can be as simple or as complex as your release process requires.

How Do I Get Started with AWS CodePipeline?

To get started with AWS CodePipeline:

  1. Learn how AWS CodePipeline works by reading the Concepts section.

  2. Prepare to use AWS CodePipeline by following the steps in Getting Started.

  3. Experiment with AWS CodePipeline by following the steps in the Tutorials tutorials.

  4. Use AWS CodePipeline for your new or existing projects by following the steps in Create a Pipeline.

We Want to Hear from You

We welcome your feedback. To contact us, visit the AWS CodePipeline Forum.

Topics