This plugin integrates Inedo BuildMaster to Jenkins allowing Jenkins jobs to gather version information from BuildMaster and trigger builds on an application.
Note: A minimum BuildMaster version of 5.5.0 is required for this plugin
First, you need to ensure that an api key as been configured in BuildMaster at BuildMaster > Administration > Api Keys & Access Logs. Without this the plugin won't be able access BuildMaster. Ensure that the following items are checked:
Next, you need to go to Jenkins' system config screen to tell Jenkins where's your BuildMaster resides. I have found that I need to configure it for NTLM authentication on our network otherwise my account gets locked out. Clicking the "Test Connection" button a few times will confirm whether this is required or not.
Lastly, you need to add a couple of steps to your Jenkins job. Because the Release and Build numbers could be required by several build and post-build actions selecting the application and has been separated from the trigger build action.
The "Select BuildMaster Application" build step allows you to select the the BuildMaster application you are dealing with and the settings will be used to inject these environment variables into the job at build time:
Ignore the Deployable option for the moment, that will be covered in the advanced topics section later in this document.
The "Trigger Build" action can be added as either a build step or post build action. The choice of which to use will be largely dependent on how you import the build artifacts into BuildMaster and your personal preference:
If you haven't used the "Select BuildMaster Application" action then you will need to go into the advanced section and set the application id, release and build number details.
To deploy the build to the first environment ensure that you have the post-build step action "Auto-Promote Build to the Next Environment" set in BuildMaster.
If you have multiple Jenkins jobs all triggering a build for the same BuildMaster application it is vital that you use the "Select BuildMaster Application" build step as this this build step will queue any jobs attempting to run for the same BuildMaster application while another is already running so that you cannot get two jobs triggering a build in BuildMaster at the same time.
The following two options have been supplied as a means to ensure that the triggered BuildMaster build picks up artifacts from only the Jenkins jobs that have build for its release:
BuildMaster already has an Artifactory Extension, but I have also developed a BuildMaster Artifactory Variable Extension to assist with referencing artifacts from Artifactory and cleaning up unwanted artifacts which works very nicely with the "Set Build Variable in BuildMaster" option.