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. To learn more, see Continuous Delivery.
Q: What is continuous integration?
is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. Continuous integration most often refers to the build or integration stage of the software release process and entails both an automation component (e.g. a CI or build service) and a cultural component (e.g. learning to integrate frequently). The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates. To learn more, see Continuous Integration.
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 to set up a continuous delivery pipeline?
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: Which products can be integrated with the continuous delivery pipeline I build with AWS CodePipeline?
AWS CodePipeline integrates with AWS services like AWS CodeCommit, Amazon S3, AWS CodeDeploy, AWS Elastic Beanstalk, AWS OpsWorks, and AWS Lambda. In addition, AWS CodePipeline integrates with a number of partner tools. For details see the product integrations page. Finally, you can write your own custom actions and integrate any existing tool with AWS CodePipeline. For more information, see Create and Add a Custom Action in AWS CodePipeline in the AWS CodePipeline User Guide.
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 which action on a pipeline. For example, you can provide a user with read-only access to a pipeline if you want the user to see the pipeline status, but not modify the pipeline. You can also set permissions for any stage or action in a pipeline. For more information about using IAM with AWS CodePipeline, see the 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 information, see Tutorial: Delegate Access Across AWS Accounts Using IAM Roles and Configure Cross-Account Access to a Pipeline.
Q: Is there a way to quickly test out a pipeline without going through the entire setup process?
You can use our Pipeline Starter Kit to automatically provision a four-stage pipeline without needing to set it up yourself. The pipeline has a source stage, a Jenkins build stage, a deploy to staging environment stage, and a deploy to production stage.
Q: What if I have more questions about AWS CodePipeline?
Visit the CodePipeline FAQs page.