The AWS CodePipeline is a fully managed, continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates.
According to the AWS website, CodePipeline automates the build, test, and deploy phases of your release process (based on the release model you define) every time there is a code change. This enables the rapid and reliable delivery of new features and updates. Moreover, it is simple to integrate AWS CodePipeline with third-party services such as GitHub or any other custom plugin.
The diagram below summarises the key stages of the pipeline:
When developers commit changes to a source repository, CodePipeline automatically detects the changes. Those changes are built, and if any tests are configured, they are run. After the tests are complete, the built code is deployed to staging servers for testing. From the staging server, CodePipeline runs more tests (e.g., integration or load tests). Upon the successful completion of those tests, and after the manual approval action that was added to the pipeline is completed, CodePipeline deploys the tested and approved code to production instances.
For more information, visit the official AWS documentation on CodePipeline here.
Free Resources