Learn How to Leverage Jenkins Pipelines for Mainframe DevOps on GitHub
A discussion of how one development team uses GitHub and Jenkins to work in a true DevOps manner.
Join the DZone community and get the full member experience.Join For Free
Overview: Learn about Compuware’s GitHub repository and its accompanying DevOps documentation pages that are dedicated to providing information and working examples for anyone looking to integrate mainframe development into CI/CD pipelines, specifically Jenkins pipelines to start with.
I frequently attend enterprise IT conferences and speak extensively with customers about what they’re doing to modernize their mainframe environments. Amidst growing business and platform-related challenges, it’s clear to me more people are realizing Agile development on the mainframe is necessary, and that Agile without DevOps is no smart way to go.
Most mainframe teams are still in their initial steps of realizing this need and are looking for inspiration on how to approach business leaders about starting this new journey, but many of our customers are aware DevOps is real and being adopted in other areas, such as open systems development. Therefore, whatever solutions they investigate to enable mainframe DevOps must fit in and comply with processes already in place.
This is the basis of Compuware’s approach to integrating modern mainframe tools with a variety of different mainframe and non-mainframe solutions to carry out similar tasks in similar ways across all platforms.
Critical to this is creating a DevOps CI/CD pipeline dedicated to mainframe development that adheres to the general principles the DevOps community agrees upon while also keeping our customers’ requirements in mind.
New Compuware GitHub Repository
Based on these ideas and targets, one of our product managers, Steve Kansa, thought it should be Compuware’s obligation not only to solve our customers’ problems in building pipelines but also to share our experiences publicly.
That’s why we set up Compuware’s GitHub repository and its accompanying DevOps documentation pages that are dedicated to providing information and working examples for anyone looking for information on how to integrate mainframe development into CI/CD pipelines, specifically Jenkins pipelines to start with.
These are valuable resources for helping customers both begin their DevOps journeys and solve specific problems en route. It also inspires Compuware colleagues and customers alike to share their experiences and their code with others.
Why Jenkins Pipelines for Mainframe
I had my first exposure to coding Jenkins pipelines for mainframe development during a Compuware technical training session in 2018, but the pipeline example we used was fairly simple in structure and in flexibility. It wouldn’t have been enough to satisfy a customer’s needs, so I started pondering how I could make the example more flexible to emulate real life.
Neither Compuware nor our customers had tried building Jenkins pipelines for mainframe development before. We faced questions and challenges, not to mention approaches and solutions, we hadn’t thought of before. I started experimenting with Jenkins pipelines and Groovy, a scripting language, and decided to share my findings and experiences internally through Confluence.
Soon after, I discovered Steve and Roland Kinsman, one of our solution consultants, had created a set of pages describing the setup of a standard demo pipeline with Jenkins, which we had created during the aforementioned training session.
At the same time, Compuware customers like ABN AMRO and a large UK bank were experiencing initial success with creating Jenkins pipelines for mainframe development. In meeting the teams driving these efforts for both customers, we exchanged ideas, challenges and solutions. This gave me a better idea of everyday life problems our customers need their pipelines to be capable of handling as well as where Compuware plugins might be limited in solving those problems.
Instead of relaying customer issues as enhancement requests to the software development lab in Detroit—thereby forcing developers to dedicate valuable resources to problems that could be solved otherwise, and forcing customers to wait longer than expected—I choose to continuously expand the functionality of my own pipeline to reflect real-life demands as closely as possible based on customer experiences. With the help of Kim Mortensen, one of Compuware’s technical account managers, we have been able to create several solutions.
We’ll continue this progress and use GitHub to provide more examples of Jenkins pipelines for mainframe DevOps that are shorter, easier to grasp and focused on single steps of a process. All code we publish will be documented, and we’ll ensure the documentation is as current as possible.
In addition to the initial complete Jenkins pipeline, customers can access new code and documentation that will provide customers with building blocks and guidelines to build pipelines that solve more specialized needs.
Keep in mind that we promote Jenkins primarily because this is the tool in place at many of our customers. If other tools are being used instead, the examples we share on GitHub still serve as guidelines for which steps are necessary and how one would script a pipeline in general. For example, the DevOps documentation site now includes all of the Topaz SDK (software development kit) documentation for those who wish to develop custom Eclipse plugins for custom integrations.
Even though we’re only sharing examples for Jenkins at the moment, our Jenkins plugins simply use the Compuware Topaz CLI or the Compuware ISPW REST API in the background; therefore, converting the Jenkins specific code into code that can be processed by an alternative will be fairly straight forward.
Published at DZone with permission of Ralph Nuesse, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.