Best practices

This topic describes best practices that help you effectively set up a Engineering Workflow Management Build.

Create a build user

The Ant build toolkit and Jazz™ Build Engine require a user name and password for logging in to the Jazz repository. Use the following techniques to help you manage build users:

  • Create a separate build user.
  • Provide JazzUsers repository role permissions.
  • Assign a Build System client access license to the build user.
  • Provide process permissions for Engineering Workflow Management source control and build operations in the project and team areas associated with the relevant Jazz Build Engines and their supported build definitions.
  • Use a password file rather than specifying the password directly on the command line or in Ant task invocations. Use the Jazz Build Engine –createPasswordFile option to create an encrypted password file that you can use with Ant tasks and the Jazz Build Engine. For more information, see How can I avoid the build user password from appearing on the command line and in scripts.
    Note: The password file is not strongly encrypted. Any user with access to the file can potentially decrypt it. Set appropriate operating system file permissions on the password file to prevent access from anyone other than the user running the Jazz Build Engine and the Ant tasks. The main benefit of using a password file instead of the password command line argument (for the Jazz Build Engine) or password attribute (for Ant tasks) is to avoid the password being repeated in the clear in build scripts, and the shell history.
  • When you create a Engineering Workflow Management source control workspace for the build, set the build user as the workspace owner.

Use the JDK included in the Engineering Workflow Management client

Run the Jazz Build Engine using the JDK included in the Engineering Workflow Management client. For more information, see What is the recommended JDK.

Use a build workspace

When you set up the build workspace for a build definition, use a separate build workspace and do not point to the stream directly. This ensures that the build is isolated from ongoing changes in the stream. It's also possible for the stream contents to get deleted if the Accept changes before loading option is selected and the stream has a flow target.

Ensure that each build definition has its own dedicated build workspace. If build workspaces are shared across definitions, then the audit history of snapshots becomes mixed. The Included in Builds link on work items might not be accurate. Work item links are derived from the change sets accepted into the build workspace, but if the workspace is shared, a different build might have already accepted certain change sets, so links for these are not created in the new build. For more information, see How should my source code be loaded from Jazz SCM.

Avoid multiple Jazz Build Engine instances on the same machine

Avoid running multiple Jazz Build Engine instances on the same machine. For more information, see Running multiple JBE processes.

video icon Video channel
Software Education channel

learn icon Courses

IoT Academy
Skills Gateway

ask icon Community forums library

support icon Support

IBM Support Community
Deployment wiki