A first step for merging Mainframe into Enterprise DevOps with CA Endevor® and Zowe CLI

Rose Sakach
Zowe
Published in
4 min readDec 9, 2019

Learn how to implement code quality scanning with SonarQube to unify DevOps

{Ecosystem} Like many companies that continue to leverage the processing power of mainframes as an integral part of the business, there is likely a finely-tuned mainframe development-to-deployment process in play at your shop which leverages CA Endevor as the backbone. An acronym for DevOps [ENvironment for DEVelopment and OpeRations] with groundbreaking parameterized scripting for continuous integration and deploy for mainframe-centric applications, Endevor continues to manage, secure, and deploy millions of mainframe software assets while providing a development environment, intelligence for impact analysis and proof of compliance for audit. Purpose-built for flexibility, it supports waterfall and current agile development practices using traditional mainframe interfaces or, with the recent introduction of the CA Endevor Bridge for Git, an endless number of modern IDEs.

Mainframe is left out of the conversation.

While this proven engine continues to drive the release process for business-critical application mainframe components, there is probably an active or an “in-the-works” Enterprise DevOps initiative gaining quite a bit of visibility within your organization, rightfully challenging, with plans for standardizing on, all aspects of software development and delivery. What’s confusing is that Mainframe tends to be left out of the conversations. Why? Most Enterprise Architects talk about tools traditionally associated with Distributed, Mobile, and Cloud platforms. Jenkins/Bamboo (CI-CD automation server), Python / JavaScript (scripting), Gradle/ Gulp (task runner), Gradle (build tool), Mocha (testing framework), SonarQube (code quality and security inspection) even Git (with associated hosting services GitHub, GitLab) are all on this list. Traditionally, most are not compatible with mainframe — that is, until the Open Mainframe Project (OMP) introduced Zowe. Specifically, the Zowe CLI (Command Line Interface) component changes the game. With client-side access and scripting capabilities, it allows mainframe to join in on the conversation in a comfortable fashion. How so?

Our customers are introducing Zowe!

Here’s what our customers are doing and you can do as well. Simple. DevOps architects realize incorporating the mainframe doesn’t require them to learn mainframe. Instead, they are using the CA Endevor Plug-in for Zowe CLI to fold existing Endevor processes into their Enterprise initiative. Let’s take the example of including code quality tools as part of the mainframe automated pipeline. SonarQube is a very popular solution in this space. Incorporating code scanning — for code quality and security vulnerabilities — in with their existing CA Endevor pipeline was THE use case that sold a mature DevOps team at a large healthcare company on the automation capabilities of Zowe CLI.

Sample CA Endevor Zowe CLI Bulk RETRIEVE command

Step 1. Execute Zowe CLI script to securely access code stored in Endevor

  • Obtain code from the Endevor inventory location to the desired platform or Jenkins server (use the NEW! single command, bulk retrieve — shown above — to fetch the latest application code with dependencies or just the changed code)

Step 2. Execute the SonarQube scanner on the fetched code

  • run scans
  • update the SonarQube dashboard and metrics
  • log activities (Jenkins)

This automation using Zowe CLI extends standardized code quality and security practices to the mainframe. This is just one example using non-z/OS hosted tools. The options are endless. But don’t take my word for it. Speak with some Zowe early adopters, other contributing vendors, or our colleagues.

Zowe CLI extends the value of existing investments to incorporate DevOps initiatives

What if you have other SCM tools? Zowe CLI can still help, albeit with more work and some creativity on your end. Check out Jason Tucker’s Blog, “How to Write Cleaner and Safer z/OS Code with Zowe CLI and SonarQube” to get started. Jason walks you through the “how-to” with all the technical details. It may inspire you to create your own Zowe CLI Plug-in for your current mainframe CI-CD process, similar to what we’ve done. Meanwhile, we are continuing to build on our inventory of actions with Zowe CLI. With the CA Endevor Zowe CLI Plug-in, DevOps Architects can:

  • Create automation scripts that interact with existing build, deploy, packaging and authorization functions to synchronize mainframe delivery with all platforms
  • Incorporate these scripts into Enterprise DevOps processes, including Jenkins pipelines and deployment orchestrators
  • Leverage other code scanning tools for quality and security of mainframe code
  • Experiment with open source testing frameworks to cover comprehensive mobile-to-mainframe test requirements at pre-determined checkpoints throughout the pipeline
  • And more…

We plan to continue to share our experiences, so that you can learn how to leverage the CA Endevor Zowe CLI Plug-in as you mature your enterprise DevOps processes. We will share popular use cases, like this code quality one, to make it easy for you to understand how to leverage it for your organizations’ requirements.

Next steps:

Try it! Get a sample script for this use case and more: visit the Zowe CLI samples repository.
Talk about it! Join in on our conversation, visit: OMP Zowe Slack Channel.

For more information on Zowe, visit https://www.zowe.org.
For more information on the CA Endevor Plug-in for Zowe CLI visit: CA Endevor Zowe CLI Plug-in Documentation.

Learn more about Zowe at this site; read more Zowe blogs here.

Questions? Comments? Got a suggestion for the next use case? Send me an email at Rose.Sakach@broadcom.com

--

--