Chapter 3. Deployments

A completely automated deployment process is a must in modern software environments. The time between when software is written and tested till it is deployed into production (so it can realize its business value) makes up a software delivery lifecycle that should be as quick and smooth as your organizational processes will allow.

This ability to rapidly deploy software into production safely is behind the continuous delivery movement. Minimizing downtime while this software change occurs is a key concern. In this chapter you are going to learn some of the common approaches to deployment using OpenShift.

The Replication Controller

A deployment in OpenShift is a replication controller based on a user-defined template called a deployment configuration. Deployments are created manually or in response to triggered events. OpenShift provides:

  • A deployment configuration, which is a template for deployments

  • Triggers that drive automated deployments in response to events

  • User-customizable strategies to transition from the previous deployment to the new deployment

  • Rollback to a previous deployment

  • Replication scaling (manual and automated)


If you don’t think you need any of these deployment benefits, you can always spin up a replication controller or pod definition on OpenShift without having a deployment configuration at all.

Deployment Strategies

OpenShift provides deployment strategies that are defined by each deployment configuration. Each ...

Get DevOps with OpenShift now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.