GitHubContribute in GitHub: Edit online

Integrating with external tools

IBM Dependency Based Build (DBB) has been designed with Git and Jenkins as example of an SCM and pipeline automation tool. These are not prerequisites but are used as examples to demonstrate the capabilities. The existence of Git on z/OS was the driving factor for the creation of DBB. However, the goal is to not tie DBB into Git in such a way that future SCMs could not also be easily supported. Specific samples are provided to work with Git. It is assumed that the Rocket Software port of the Git client is the Git client that is used in the examples. Any Git server can be used when working with the Git client. The installation guide provides information on using Git with DBB and how to import the sample applications.

DBB does assume that the source code resides in a hierarchical file system, normally zFS on z/OS. The files and the build scripts are read from the zFS and samples are provided showing the copying of source to a PDSE before starting the compilation process. This assumption was used due to the way Git works only with a hierarchical file system and the fact most modern SCMs assume that type of file structure.

Jenkins was selected as the example pipeline automation tool due to its popularity and its ability to run an agent directly on z/OS to start tasks on the system. The installation guide provides an example of how to set up a Jenkins pipeline using the sample mortgage application provided.

IBM Developer for z/OS (IDz) also provides support for DBB, through a new DBB User Build option. This option allows z/OS developers who use IDz with local Git projects (likely with eGit integrated into their IDz client) to build a single program in their project for testing without first having to deliver it to the Git server. With this function, developers simply right-click the program and select DBB User Build. After they specify the required values, IDz handles all the necessary file transfers to move the files to z/OS and start the appropriate DBB build process. The results are then returned to the developer. They include error feedback for any compilation errors.