Building our deployment pipeline with AWS CodePipeline

AWS CodePipeline is a service dedicated to creating delivery pipelines. Picture the Jenkins pipelines feature with an AWS twist. The service is very integrated with the rest of the AWS ecosystem, which translates into a number of great features and advantages that using this service has over Jenkins. Because it's a fully managed service, you don't have to worry about its uptime the way you would need to with a single Jenkins instance. It integrates out of the box with CodeDeploy, which will be very handy for us. While we won't cover much of it, the service is fully integrated with the IAM service, which means that you have a very granular level of control over who can do what with the service, preventing unauthorized users from performing deployments for example. But also, thanks to its API, a number of services can be integrated into your pipelines including Jenkins and GitHub.

We will first look into creating a basic pipeline with two stages. The first stage will get the code from GitHub, package it, and store the package on S3. The second stage will take that package and deploy it to our staging instance using CodeDeploy.

After that, we will go through a more advanced scenario. We will see how we can use our Jenkins instance to run our tests before deploying our code to staging. We will also create a production environment and add an on-demand production deployment process. This is called doing a continuous delivery pipeline. In the end, we will see a couple of strategies that will allow us to build confidence in the code we push through our pipeline such that we will be able to remove that on-demand production deployment step and turn it into a fully automated pipeline.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset