DevOps Automation

DevOps Automation

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#DevOps
#Businessautomation
#DevOpsAutomation
 View Only

Creating Sub-Versions in IBM DevOps Deploy for z/OS

By Shabaz Kowthalam posted 26 days ago

  

In the fast-paced world of z/OS development, efficiency is everything. We’ve all been there: you have a component version containing multiple artifacts (like FEATURE1 and FEATURE2), but you only need to deploy one of them to production as shown below

Figure 1: Artifacts of a source version with Feature1 and Feature2

Traditionally, the workaround was to go back to your Source Control Management (SCM) system, rebuild the specific artifacts, and create an entirely new component version. It’s a process that is not only time-consuming but can also be a significant bottleneck that could introduce delays in the delivery pipeline.

The Pain Point

It can feel like a real hurdle to jump back to the SCM just to remove a handful of files when your current version already holds all the required code. This adds redundant steps and slows down the entire deployment pipeline. Based on this valuable feedback from our users, we recognized the clear need for a more efficient solution.

The Solution: Creating Sub-Versions

We’ve developed a new plugin step that allows you to create a "sub-version" directly from an existing version. This capability lets you define exactly which artifacts to include or exclude, giving you granular control without the need to rebuild from scratch. 

By setting up a simple, generic process in IBM DevOps Deploy, you can now:

  1. Select your Source Version: Point to the existing version containing your full set of artifacts.

  2. Define your Filters: Use simple inclusion/exclusion rules to isolate the files you need.

  3. Generate the Sub-Version: Provide a name for the new sub-version and execute the process to create a clean, targeted version ready for production.

Figure 2: Generic Process to create a sub version

Why this matters

This feature is all about agility. By removing the need to trigger a full rebuild for minor deployments, you reduce the risk of configuration drift and speed up your time-to-market.

Scenario Example

Consider a scenario where your component includes Load libraries and COBOL programs for both FEATURE1 and FEATURE2. To deploy only FEATURE2, you can apply the following filters within the plugin configuration:

  • /.*COBOL/, FEATURE2

  • /.*LOAD/, FEATURE2

Following execution, a new version is automatically generated by the system, isolating and containing only the specified items as illustrated below

Figure 3: Artifacts of a sub version with only Feature2

Required Steps Before Proceeding

To get started, make sure the z/OS Utility plugin on your IBM DevOps Deploy server is updated to the newest release. Alternatively, you can obtain the latest version directly from the following download page:

https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/downloads.html

Depending on where your component versions are maintained, follow the appropriate instructions below:

For Internal Repositories (Codestation):

If you store versions internally within IBM DevOps Deploy Codestation, use the process detailed here:

https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/steps.html#create-sub-version-from-version

 

For External Repositories (Nexus / JFrog Artifactory):

If you utilize an external repository such as JFrog Artifactory or Nexus for version storage, refer to this specific step instead:

https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/steps.html#create-sub-version-from-version-for-external-repository

Have you tried using sub-versions in your pipeline yet? Let us know how this process has improved your deployment workflow! 

0 comments
6 views

Permalink