Let's ship it
In this section, we will use Jenkins 2 and Docker to build the application and ship it to the cloud. The following diagram shows the continuous delivery process built with Jenkins:
Figure 15.6: The continuous delivery process with Jenkins
As you can see, Jenkins will manage the packaging, deploying, and triggering of the E2E testing, and then notify developers when the build completes. All these steps are streamlined inside the Jenkins Pipeline plugin. If you're not familiar with Jenkins Pipeline, you might want to check out Jenkins user handbook at https://jenkins.io/doc/book/pipeline. When a build succeeds, we can use another Jenkins job to manually trigger the deployment of the application to the production environment.
When we deploy the application to the staging/production environment, we will need to prepare AWS EC2 instances by installing the dependencies our application requires, for example, OpenJDK, GraphicMagicks, and so on. Once the EC2 instance is ready, we will...