One of the fascinating issues I hold encountering in my journey to study all the pieces I can concerning the mainframe world is how my experience in Linux distributed techniques and open supply tooling carries over into this realm. I just lately found zigi, an independently developed open supply (GPLv3+) Git interface for IBM z/OS ISPF (Interactive System Productivity Facility).
I had been conscious of zigi for a while, but it surely wasn’t till I joined a current z/OS Open Tools guild name that I might soak within the demo that zigi contributor Lionel B. Dyck gave. That led me to a name with zigi founder Henri Kuiper, who defined that zigi was a solution to a particular ache level of his. That sounds acquainted! I might undoubtedly recognize the story of an open supply venture born from frustration.
I would like to elucidate ISPF so that you can have an excellent understanding of what zigi supplies.
ISPF
Since the Nineteen Eighties, ISPF has been a typical interface for interacting with IBM mainframes. Mainframe professionals nonetheless use it immediately with the trendy variations of IBM z/OS and z/VM. The text-based interface, accessed with a 3270 terminal, encompasses a collection of menus, panels, and even an editor, that these proficient within the interface are extremely quick with.
Users like Henri found whereas utilizing ISPF that their organizations have been quickly adopting applied sciences acquainted to the brand new technology of technologists. These instruments, like Git, have been typically troublesome to combine into the ISPF interface.
Enter zigi.
How zigi helps
The integration of zigi permits for Git instructions to be constructed into the ISPF interface. That means Git command navigation is pure for ISPF customers, who can simplify their working tech stack with out including on yet one more instrument with yet one more interface to study.
Also, notice that z/OS works a bit otherwise than Linux or Windows-focused directors and builders are used to. Instead of getting a filesystem (corresponding to EXT4, XFS, FAT, and so forth) with a file and listing hierarchy, z/OS makes use of the idea of datasets. Git solely understands recordsdata, so zigi should do some work right here. It creates a kind of translation in order that the distant Git repositories you might in the end write to are nonetheless recordsdata, however they seem to be a collection of datasets when used contained in the z/OS surroundings. Zigi handles this seamlessly for the person—an essential distinction and a key a part of what zigi does.
I’m enthusiastic about what this implies for builders working with ISPF, but it surely’s additionally nice for techniques of us within the group trying to combine with their mainframe counterparts. With immediately’s tooling, you possibly can deliver mainframe improvement into your CI system. That all begins with ensuring you might have entry to the revision management system your mainframe builders work with. So maintain on tight, and prepare for some inexperienced screens.
(I’m joking, it is not all inexperienced, and the zigi dwelling display is kind of pleasant!)
Use zigi
Software or the z/OS Open Tools crew. Then pull within the zginstall.rex set up file from the zigi Git repository. That’s it!
For extra element, go to the official zigi documentation.
Next, create a repository or add a remote repository that is already managed by zigi from someplace like GitLab or GitHub. These actions start with the create
and distant
instructions, respectively. The linked zigi documentation walks you thru the remaining.
If you are unsure whether or not a repository is zigi-managed, search for a populated .zigi
folder on the prime degree. Being a zigi-managed repository is essential due to how zigi works internally to handle the interpretation between the recordsdata, folders, and datasets.
A loaded repository seems to be much like this screenshot of zigi’s personal repository loaded up in zigi (how’s that for inception?):
Want to begin exploring the repository? No drawback. Say you wish to see what’s underneath ZIGI.EXEC
on this repository. Use the interface to navigate to and choose the specified partitioned dataset. In the screenshot above, that’s IBMUSER.ZIGI317.ZIGI.EXEC
. You’re taken to a display that appears much like this:
Now you may get to work. It’s precious to take a look at what actions zigi helps in your repository from inside the interface. Here is a command record:
For anybody who has used Git earlier than, a whole lot of this could look very acquainted, even when the UI differs from what you anticipate.
To seasoned ISPF customers, this display is acquainted from the opposite course. You could also be studying Git, however not less than you are used to the choices are introduced within the UI.
Wrap up
As you possibly can see, zigi already implements most of the fundamental, and never so fundamental, instructions you have to work in your repository. And with zigi being an actively maintained venture with a number of contributors, that assist is rising.
What I in the end love most about zigi is the way it reveals the ubiquity of Git nowadays. In the realm of mainframes, I nonetheless encounter many proprietary revision management techniques, however that pool is shrinking. As organizations transfer to consolidate their codebases and even deliver totally different working techniques into their CI pool, instruments like zigi assist groups make that transition and assist a streamlined improvement course of for everybody.
The zigi venture is at all times searching for new contributors, together with those that can deliver distinctive perception and expertise to the hassle, so you should definitely take a look at zigi.rocks to study extra.