Jenkins : Build Configurator plugin

Plugin Information

No information for the plugin 'build-configurator' is available. It may have been removed from distribution.

Build Configurator plugin extends the functionality of Jenkins CI and provides a simplified way of creating and managing various project's configurations and settings as well as generates necessary builds, artifacts etc.

Features

  • 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)

Requirements

Jenkins

Jenkins version 1.625.3 or newer is required.

Other plugins

  • Mailer plugin
  • Description setter plugin
  • Conditional buildstep plugin
  • Copy to slave plugin
  • Multiple SCMs plugin
  • Workspace cleanup plugin (if necessary)
  • Subversion plugin
  • Git plugin

Setup

Install 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.

Per-job configuration

“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:

<builders>
   <builder key="VS_2013" value="VS 2013"/>
   ...
<builders>

 

“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:

<platforms>
  <platform>
    <platformName>x86</platformName>
  </platform>
...

 

“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:

<scriptTypes>
    <scriptType>
        <scriptTypeName>Windows batch</scriptTypeName>
    </scriptType>
    ...
</scriptTypes>


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:

  1. name - represents name of the builder; it should be the same name which is available as an option on plugin's configuration creation page;
  2. architecture - it's an obsolete value (because 64-bit builders can still build 32-bit applications when command option is specified);
  3. executeBuild - represents absolute path to compiler/interpreter location;
  4. 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.)

Remarks:

  1. 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;
  2. denotes XML-friendly double quotes (single quote sign will break parsing XML file).

Example of “builders.xml” file structure:

<builders>
 <builder 
  name="MSBuild 2.0"
  architecture="x86"
  executeBuild="C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\msbuild.exe"
  commandLine="executeBuild solution /t:rebuild [/p:Configuration=config /p:Platform=&quot;architecture&quot;]"/>
  ...
</builders>