Using GIT for Mainframe Development with CA Endevor SCM
Modernize the Mainframe Agile experience while still leveraging best-in-class automation from Endevor
Since its introduction in 2005, GIT is fast becoming an enterprise standard for open systems development. GIT is a distributed version control system that allows developers to work with a fully functional SCM on their laptop. Rather than having a client-server model that requires connection back to the server for its operations, developers can check out, update, branch and merge the code on their own machine and, when ready, push and pull code between peers. A new generation of developers have grown to favor GIT for its decentralized nature, the fact there is no imposed workflow and it’s excellent branching and merging capabilities.
On the mainframe, the market leading source control system is CA Endevor Software Change Manager, or CA Endevor SCM. This is because with CA Endevor SCM, developers also have lifecycle capabilities – Continuous Integration and Delivery are built in, as is a binary repository with dependency management. There is also a “map” that defines the path to production. Many Endevor shops have built up their entire code promotion process with it as the center.
That said, we may have the two conflicting needs in a same team:
If we were to answer only for the second need, we would say there is no technical reason this couldn’t be done. This would still have the following business impacts: GIT provides only SCM capabilities and moving away from CA Endevor SCM would also mean spending time and valuable resources migrating build and code promotion processes to something else.
Addressing these two conflicting needs and not having to rewrite build and code promotion processes – a way developers could utilize GIT to support Agile processes like feature branches or decentralized version control but still leverage the years of automation their companies have invested in Endevor. All this while other developers in the same team could still be working the way they are used to.
Here at CA, our developers thought the same thing and created their own GIT / Endevor bridge to allow them to work in GIT, but ultimately push their changes to Endevor for build and promotion as needed. This was such a success, we decided to bring it to market as a new offering – a GIT front-end for CA Endevor SCM. We have been and are continuing to test this with customers. We’ve made a few changes based on feedback. One key feedback we had was that customers wanted to be able to integrate Endevor with their Enterprise GIT repository (tools like Bitbucket, GitHub or GitLab). As such, we are currently hosting a beta of our Bitbucket plugin for CA Endevor SCM, which customers can sign up for on http://validate.ca.com.
With the plugin, a Bitbucket repository branch can be set up to sync with an Endevor SYSTEM/SUBSYSTEM inventory location. Once the repository is set up, developers can clone to their local GIT repo, branch and do all the operations they would normally do with GIT. To send the code back to Endevor, they simply push their changes to the repository branch. In other words, they have the full capability to use all the features that makes GIT so popular, but they lose none of the lifecycle automation they had with CA Endevor SCM – all without spending any time trying to convert Endevor processors or adopt additional tools on the mainframe. They can immediately begin using GIT for mainframe development and realize all the benefits with little effort to set up. Another benefit they can realize is the fact that they will no longer be forced to choose an IDE based on whether or not it has a plugin for CA Endevor SCM development. Most IDE’s these days have a GIT plugin and using the bridge allows them to use the tools they want to use, based on where they will be the most productive.
In parallel, developers who wish to use the ISPF or Eclipse interface can continue to do so. Work being done directly in Endevor is merged with the incoming GIT changes just as developers doing parallel development today in Endevor do now.
For administrators interested in how this all works in the CA Endevor SCM ecosystem, please see Using GIT with CA Endevor SCM – An Administrator’s Perspective. If you are interested in signing up for the beta, please reach out to me at Vaughn.Marshall@ca.com or register for the CA Endevor SCM validation project on http://validate.ca.com.