A 'promote' action involves moving artifacts from a lower environment to a higher one within a hierarchical structure of environments. Unlike a FULL version, an Incremental version has a collection of files that are built together. It is important to understand that when you’re deploying an Incremental version, you’re deploying a part of the application to the environment.
In this write-up, we’re going to see how to implement the PROMOTE process in DevOps Deploy. Promoting artifacts is a common way of deploying in legacy SCMs and many mainframe customers are accustomed to this practice and have their environments structured this way.
The PROMOTE process in DevOps Deploy consists of 2 main steps.
- Install the version on the higher environment (copies artifacts).
- Uninstall the feature from the lower environment (removes artifacts)
Therefore, when performing a promotion, it is crucial to ensure that the uninstallation occurs from the correct lower environment, as a version may not be installed in all of them. During the uninstall process, we must ensure that artifacts from the version are removed without risk. The method for doing this is covered in the following blog post: Smarter rollbacks for zos version in DevOps Deploy
Figure-1: An example of hierarchy structure of environments
From the “route-to-prod” path that we see in Figure-1, if we want to promote the Feature-A from DEV-1 to QA-1, we perform the install in QA-1 and uninstall from DEV-1. So, the obvious question is how to ensure that we uninstall from the right DEV environments? This is the topic we discuss in this blog.
First, we categorize environments into several stages, in this case DEV, QA, UAT and PROD are the different stages for the hierarchy of environments shown in Figure-2