Using the Build Manager

The Build Manager is a tool that can be used to improve performance on IBM Z Systems Development and Test Environment (ZD&T), or whenever Java startup time needs to be reduced. It works by maintaining multiple Java processes to avoid JVM startup when running builds.

For information about installing and configuring the Build Manager, see “Build Manager files” in Installing and configuring.

The Build Manager has the following two components:

It takes you two mandatary and one optional step to use Build Manager:

Image of Build Manager workflow

Image of how to use Build Manager and its workflow

The following examples for using the Build Manager assume that you are using host 127.0.0.1 and port 8080. The actual host and port you use depends on your setup.

Running the server

You can run the Build Manager server by using any of the following methods:

Issuing a command

To issue a command to the server, you must use the client. The client can be accessed by using groovyz or calling the client directly (/usr/lpp/IBM/dbb/lib/client -h).

Examples

Note:

Managing processes

The Build Manager is a process coordinator that allows you to use commands to start and stop processes.

For example, if more build slots are needed, you can launch another process with client 127.0.0.1 8080 groovyz start.

Alternatively, if that process is no longer needed, it can be killed using client 127.0.0.1 8080 groovyz kill.

If the BuildManager receives an exception from the script it is executing, that process will be restarted.

Additional information

Running multiple builds concurrently

The Build Manager can have multiple processes, which supports multiple builds. For example, you can build two applications at the same time, or multiple people can run their own builds at the same time.

Handling return codes

Only the return codes from System.exit() calls in the Groovy build script are captured by the Build Manager. In other words, values returned by the Groovy build script using return are not captured by the Build Manager.