Java Magazine, Mar/Apr 2018
ORACLE COM JAVAMAGAZINE MARCH APRIL 2018 33 microservices and containers is automated with Jenkins While one of the building blocks of DevOps is automation manual steps do not conflict with DevOps and they are often meaningful and sometimes mandatory In this example I deploy a Java EE web application running OpenJDK on Alpine Linux bundled with the widely used Apache Tomcat and deployed to the cloud While this application could be deployed on many clouds Ive chosen to run it on Oracle Cloud As expected I use Docker containers driven by a Dockerfile Running the application displays the start page shown in Figure 1 I organize the processing of the upcoming changes with pipelines which I discuss next Pipelines to Workflows On its way toward production the code changes will go through diferent stages Staging also called promotion is the activity of consistently transferring a defined baseline of the software with all its configuration items from one stage to another Software is staged over diferent environments by configuration without rebuilding A delivery pipeline is a set of stages together with transition rules between those stages From a DevOps perspective a pipeline bridges multiple functions in organizations above all development and operations A change typically waits to be pulled to a succeeding stage for further processing according to the transition rules which are aligned with defined requirements that must be met These are the quality gates In bigger and more complex setups multiple pipelines form a workflow Parts of the workflow are glued together and run automatically and other pipelines are triggered manually Figure 2 shows a typical workflow that maps a code change to a release build The workflow is made up of diferent pipelines with quality gates in between the lock in the figure The approved change request enters the workflow illustrated top left and leaves the workflow by delivering the change to the end user bottom right The code in the change is built continuously and the dev build promotes it to be a defined development version a release candidate Figure 1 The start page of the simple application used in this article
You must have JavaScript enabled to view digital editions.