DBB
IBM Dependency Based Build: a tool that builds mainframe programs from Git, working out which programs need rebuilding after a change.
Also written Dependency Based Build, IBM DBB, zAppBuild, mainframe CI/CD
DBB, IBM Dependency Based Build, is a build tool for z/OS. It is used when source code is kept in Git instead of a traditional source code manager, and it takes over the job of compiling, link-editing and binding.
Its key ability is tracking dependencies. It scans the source and records which programs use which copybooks. When a copybook changes, DBB knows every program that includes it and rebuilds only those. When a single program changes, it rebuilds just that one. That keeps builds fast and complete.
Builds are described in scripts, often starting from a sample framework called zAppBuild, which sites adapt to their own rules. DBB is usually run by a pipeline tool, such as Jenkins or GitLab, so a change pushed to Git is built and tested automatically.
DBB is part of how many sites move mainframe development to the same practices used for other systems: Git, automated builds and pipelines. The programs it builds are ordinary load modules, which run in the same way as before.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- Git on z/OSUsing Git, the version control system common on other platforms, to manage mainframe source code.
- Source code managerA tool that stores mainframe source code, tracks every version, and moves changes through test stages to production in a controlled way.
- CompileTurning COBOL source code into machine instructions, checking the syntax and producing a listing of any errors.
- CopybookA shared block of COBOL declarations kept in a library and included into programs, so a record layout is defined once.
- ZoweOpen-source tools that let you work with z/OS from a laptop, an editor such as VS Code, or a script.
- Link-editCombining compiled object code with the other modules it needs into a single runnable program.