Build Automation Management Tool22.214.171.124Minimum Jenkins requirement: 1.625.3ID: build-configurator
- Create and manage various build configurations
- Produce individual pre-configured job for every build
- Use several projects in one build as well as several build settings for each project
- Set pre/post build scripts (like comments for Jenkins administrator), e-mail notifications and produced artifacts
- View build’s configuration’s additional information (such as state, update date and other)
The plugin supports most of popular builder templates (such as .NET, Maven & Ant, XCode)
Jenkins version 1.625.3 or newer is required.
- Mailer plugin
- Description setter plugin
- Conditional buildstep plugin
- Copy to slave plugin
- Multiple SCMs plugin
- Workspace cleanup plugin (if necessary)
- Subversion plugin
- Git plugin
- Find "build-configurator" in the list of Jenkins plugins and install it. Otherwise it can be uploaded manually.
- Download “buildserver.jar” and “builders.xml” by URL "<URL>".
- Set up BUILDER_PATH environment variable to folder with “buildserver.jar” and “builders.xml” files.
“Builders.xml” file specification
File “Builders.xml” is located in “JENKINS_HOME\plugins\build-configurator\config” on Jenkins master. It contains a list of available builders that will be displayed in BAMT view when creating new configuration. The root tag <builders> contains <builder> tags with two required attributes: key (unique builder name) and value (text to display).
After adding/changing a builder, check if the builder with the name which corresponds to the ‘key’ attribute exists on one of the buildservers. Otherwise add such a builder.
Example of “Builders.xml” file structure:
“Platforms.xml” file specification
File “Platforms.xml” is located in “JENKINS_HOME\plugins\build-configurator\config” on Jenkins master. It contains a list of platforms for builders. While changing this list, check if there is corresponding builder with this platform in all builderserves which support it.
Example of “Platforms.xml” file structure:
“ScriptType.xml” file specification
Script won’t be generated automatically. Administrator should create a script of the corresponding type. File “ScriptType.xml” is located in “JENKINS_HOME\plugins\build-configurator\config”.
There are already “windows batch”, “unix shell” and “python” script types. Any script type can be added.
Example of “ScriptType.xml” file structure:
Buildserver “builders.xml” file specification
File “builders.xml” consists of the list of builders. Builder will execute particular project’s build (in most cases they’re abstraction on top of compilators). The root tag <builders> has list of its child tags <builder>, each of which describes builder's configuration. Attributes of each <builder> tag are described below:
- name - represents name of the builder; it should be the same name which is available as an option on plugin's configuration creation page;
- architecture - it's an obsolete value (because 64-bit builders can still build 32-bit applications when command option is specified);
- executeBuild - represents absolute path to compiler/interpreter location;
- commandLine - describes command pattern and parameters to launch compiler/interpreter. Consists of following parameters that will be automatically replaced as described below:
- executeBuild - replaced with builder's "executeBuild" attribute value;
- solution - retrieved from config.xml value; determines solution file name (e.g. *.sln, *.csproj etc.);
- config - retrieved from config.xml value; determines target configuration (e.g. 'Debug', 'Release');
- architecture - retrieved from config.xml value; determines target project architecture (e.g. 'Win32', 'x86_64', 'Any CPU' etc.)
- square brackets determine 'Other' configuration where custom attributes for builder command can be specified; thus, inner content is replaced by value retrieved from config.xml; only one pair of brackets is allowed;
- denotes XML-friendly double quotes (single quote sign will break parsing XML file).
Example of “builders.xml” file structure: