Revisit Amazon Web Services re:Invent 2024’s biggest moments and watch keynotes and innovation talks on demand
General
Q: What is Amazon CodePipeline?
Amazon CodePipeline is a continuous delivery service that enables you to model, visualize, and automate the steps required to release your software. With Amazon CodePipeline, you model the full release process for building your code, deploying to pre-production environments, testing your application and releasing it to production. Amazon 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 Amazon CodePipeline?
By automating your build, test, and release processes, Amazon 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. Amazon CodePipeline is a service that helps you practice continuous delivery.
Concepts
The diagram below represents the concepts discussed in this section.
Q: What is a revision?
Using Amazon CodePipeline
Q: How do I get started with Amazon CodePipeline?
You can sign in to the Amazon Web Services Management Console, create a pipeline, and start using the service. If you want an introduction to Amazon 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 Amazon CodePipeline.
Q: Can I edit an existing pipeline?
Yes. You can use the Amazon CodePipeline console or Amazon 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 Amazon CLI command to get the JSON structure of your existing pipeline. You can then use that JSON and the create-pipeline Amazon 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: How can I practice continuous delivery for my serverless applications and Amazon Lambda functions?
You can release updates to your serverless application by including the Amazon Serverless Application Model template and its corresponding files in your source code repository. You can use Amazon CodeBuild in your pipeline to package your code for deployment. You can then use Amazon CloudFormation actions to create a change set and deploy your serverless application. You have the option to extend your workflow with additional steps such as manual approvals or automated tests.
Q: How can I provision and manage my Amazon Web Services resources through a release workflow process?
Using Amazon CodePipeline and Amazon CloudFormation, you can use continuous delivery to automatically build and test changes to your Amazon CloudFormation stacks before promoting them to production stacks. This release process lets you rapidly and reliably make changes to your Amazon Web Services infrastructure. You can extend your workflow with additional actions such as manual approvals, test actions, or invoke Amazon Lambda actions.
Q: What product integrations are available with Amazon CodePipeline?
Amazon CodePipeline integrates with Amazon Web Services such as Amazon CodeCommit, Amazon S3, Amazon CodeBuild, Amazon CodeDeploy, Amazon Elastic Beanstalk, Amazon CloudFormation, Amazon OpsWorks, Amazon ECS, and Amazon Lambda. 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 Amazon CodePipeline page.
Q: Can I get a history of Amazon CodePipeline API calls?
Yes. To receive a history of Amazon CodePipeline API calls made on your account for security analysis and operational troubleshooting purposes, you simply turn on Amazon CloudTrail in the Amazon Web Services Management Console.
Q: What are the service limits when using Amazon CodePipeline?
For information on the service limits, see Limits.
Q: How do I receive notifications or alerts for any events in Amazon CodePipeline?
You can create notifications for events impacting your pipelines. Notifications will come in the form of Amazon SNS notifications. Each notification will include a status message as well as a link to the resources whose event generated that notification. Notifications has no additional cost; but, you may be charged for other Amazon Web Services services utilized by notifications, such as Amazon SNS. To learn how to get started with notifications, see the notifications user guide.
Security
Q: Can I use Amazon Identity and Access Management (IAM) to manage access to Amazon CodePipeline?
Yes. Amazon 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 Amazon CodePipeline, see Access Permissions Reference.
Q: Can I enable the pipeline in one Amazon account to be accessed by an IAM user in another Amazon Web Services account?
Yes. You can create an IAM role in the Amazon Web Services 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 Amazon Web Services Accounts For Accounts You Own Using IAM Roles and Configure Cross-Account Access to a Pipeline.
Regions
Q: Which regions does Amazon CodePipeline support?
Please refer to Regional Products and Services for details of CodePipeline availability by region.
Billing
Q: How much does Amazon CodePipeline cost?
For details on Amazon CodePipeline cost, see the pricing page .