Ties the parent build of a multi-configuration project to a node.

{jenkins-plugin-info:pluginId=matrixtieparent}

As JENKINS-7825 is fixed in Jenkins 1.521, this plugin is now deprecated. Please look under the "advanced" option of the matrix project configuration to tie the matrix parent to a label/slave.

Simple groovy script to perform the migration. Users are encouraged to backup first.

j = Jenkins.instance;
 
jobs = j.items.grep { it instanceof hudson.matrix.MatrixProject }
 
jobs.grep {
  wrapper(it) != null
}.each {
  println "${it.fullName}"
  def wrpr = wrapper(it)
  println "\t${wrpr.labelName}"
  
  it.setAssignedLabel(j.getLabel(wrpr.labelName));
  it.getBuildWrappersList().remove(wrpr);
  it.save();
}.size();
 
def wrapper(mp) {
  return mp.getBuildWrappersList().get(matrixtieparent.BuildWrapperMtp.class)
}

Usage

Multi-Configuration projects always run one parent build job. The parent build verifies source control checkout operations, then monitors the execution of child jobs created to satisfy the Configuration Matrix.

Sometimes the parent build must run on some computers, but not others. This may be due to constraints such as a lack of source control or other software on a computer, file permission issues, etc.

Restrict where the parent build runs by selecting a specific computer's node name. Or, use a label to restrict the parent build to run only on computers marked with that label.

Limitations

Changelog

Version 1.1 - August 23, 2010

Version 1.0 - June 8, 2010