O'Reilly logo

Containerizing Continuous Delivery in Java by Daniel Bryant

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. Continuous Delivery of Java Applications with Docker

“Integrating containers into a continuous-delivery pipeline is far from easy. Along with the benefits Docker brings, there are also challenges both technological and process-related.”

Viktor Farcic, author of DevOps 2.0

This chapter examines the impact of introducing Docker into a Java application build pipeline. In addition to looking at the theoretical issues, practical examples will also be provided, with the goal being to enable a Java developer already familiar with the basic concepts of Docker to start creating an appropriate pipeline. For Java developers looking for an introductory explanation of Docker, Arun Gupta’s Docker for Java Developers is an excellent primer.

Adding Docker to the Build Pipeline

Introducing Docker into a typical Java application build pipeline will primarily impact four locations within the pipeline. The figure below shows an extended example of the earlier Java application build pipeline with the locations of change highlighted (Figure 2-1).

Figure 2-1. A Dockerized Java application continuous delivery pipeline

Location 1, the developer’s machine, will now include packaging and running Java application within a Docker container. Typically, testing will occur here in two phases: the first ensures that the Java build artifact (JAR, WAR, etc.) is thoroughly tested, and the second asserts ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required