Get Started With AWS for Free

Create a Free Account

Receive twelve months of access to the AWS Free Tier and enjoy AWS Basic Support features including, 24x7x365 customer service, support forums, and more.

View AWS Free Tier Details »


Q: What is AWS CodePipeline?
AWS CodePipeline is a continuous delivery service that enables you to model, visualize, and automate the steps required to release your software. With AWS CodePipeline, you model the full release process for building your code, deploying to pre-production environments, testing your application and releasing it to production. AWS CodePipeline then builds, tests, and deploys your application according to the defined workflow every time there is a code change. You can integrate partner tools and your own custom tools into any stage of the release process to form an end-to-end continuous delivery solution.

Q: Why should I use AWS CodePipeline?
By automating your build, test, and release processes, AWS CodePipeline enables you to increase the speed and quality of your software updates by running all new changes through a consistent set of quality checks.

Q: What is continuous delivery?
Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. AWS CodePipeline is a service that helps you practice continuous delivery. Learn more about continuous delivery here.

The diagram below represents the concepts discussed in this section.

CodePipeline_Elements

Q: What is a pipeline?
A pipeline is a workflow construct that describes how software changes go through a release process. You define the workflow with a sequence of stages and actions.

Q: What is a revision?
A revision is a change made to the source location defined for your pipeline. It can include source code, build output, configuration, or data. A pipeline can have multiple revisions flowing through it at the same time.

Q: What is a stage?
A stage is a group of one or more actions. A pipeline can have two or more stages.

Q: What is an action?
An action is a task performed on a revision. Pipeline actions occur in a specified order, in serial or in parallel, as determined in the configuration of the stage. For more information, see Edit a Pipeline and Action Structure Requirements in AWS CodePipeline.

Q: What is an artifact?
When an action runs, it acts upon a file or set of files. These files are called artifacts. These artifacts can be worked upon by later actions in the pipeline. For example, a source action will output the latest version of the code as a source artifact, which the build action will read in. Following the compilation, the build action will upload the build output as another artifact, which will be read by the later deployment actions.

Q: What is a transition?
The stages in a pipeline are connected by transitions, and are represented by arrows in the AWS CodePipeline console. Revisions that successfully complete the actions in a stage will be automatically sent on to the next stage as indicated by the transition arrow. Transitions can be disabled or enabled between stages.

 

 

Q: How do I get started with AWS CodePipeline?
You can sign in to the AWS Management Console, create a pipeline, and start using the service. If you want a quick introduction to AWS CodePipeline, see Getting Started, which includes step-by-step tutorials.

Q: How do I start a pipeline?
After you create a pipeline, it will automatically trigger a run to release the latest revision of your source code. From then on, every time you make a change to your source location, a new run is triggered. In addition, you can re-run the last revision through a pipeline using the Release Change button in the pipeline console.

Q: How do I stop a pipeline?
To stop a pipeline, you can disable a transition from one stage to another. Once disabled, your pipeline will continue to run revisions through the actions, but it will not promote revisions through the disabled transition to later stages. For more details, see Disable or Enable Transitions in AWS CodePipeline.

Q: Can I edit an existing pipeline?
Yes. You can use the AWS CodePipeline console or AWS CLI to add or remove stages in a pipeline as well as to add, edit, or remove actions in a stage.

Q: Can I create a copy of an existing pipeline?
Yes. You can use the get-pipeline AWS CLI command to get the JSON structure of your existing pipeline. You can then use that JSON and the create-pipeline AWS CLI command to create a new pipeline with the same structure as the existing one.

Q: Can actions run in parallel?
Yes. You can configure one or more actions to run in parallel for any given stage.

Q: What product integrations are available with AWS CodePipeline?
AWS CodePipeline integrates with AWS services such as Amazon S3, AWS CodeDeploy, AWS Elastic Beanstalk, and AWS Lambda. In addition, AWS CodePipeline integrates with a number of partner services. For details see the product integrations page. Finally, you can write your own custom actions and integrate any existing tool with CodePipeline. For more details on custom actions, see the Create and Add a Custom Action in AWS CodePipeline page.

Q: Can I get a history of AWS CodePipeline API calls?
Yes. To receive a history of AWS CodePipeline API calls made on your account for security analysis and operational troubleshooting purposes, you simply turn on AWS CloudTrail in the AWS Management Console. For more information, see Logging AWS CodePipeline API calls by Using AWS CloudTrail.

Q: What are the service limits when using AWS CodePipeline?
For information on the service limits, see Limits.

Q: What do I need to do to integrate with AWS CodePipeline?
If you’re interested in becoming an AWS partner who integrates your developer service with AWS CodePipeline, please contact codepipeline-request@amazon.com.

Q: Can I use AWS Identity and Access Management (IAM) to manage access to AWS CodePipeline?
Yes. AWS CodePipeline supports resource-level permissions. You can specify which user can perform what action on a pipeline. For example, you can provide a user read-only access to a pipeline, if you want them to see the pipeline status but not modify the pipeline. You can also set permissions for any stage or action within a pipeline. For more information on using IAM with AWS CodePipeline, see Access Permissions Reference.

Q: Can I enable the pipeline in one AWS account to be accessed by an IAM user in another AWS account?
Yes. You can create an IAM role in the AWS account that owns the pipeline to delegate access to the pipeline and any related resources to an IAM user in another account. For a walkthrough on enabling such a cross account access, see Walkthrough: Delegating Access Across AWS Accounts For Accounts You Own Using IAM Roles and Configure Cross-Account Access to a Pipeline.

Q: Which regions does AWS CodePipeline support?
Please refer to Regional Products and Services for details of CodePipeline availability by region.

Q: How much does AWS CodePipeline cost?
For details on AWS CodePipeline cost, see the pricing page.