Skip to content
A tool that converts Hudson config files to make them compatible with Jenkins
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Initial commit Jan 25, 2017
META-INF
src
xml
.classpath
.gitignore
.project
Jenkinsfile
LICENSE
README.md
pom.xml
revertTransform.sh

README.md

HIPP2JIPP

This tool helps to migrate a HIPP (Hudson instance per project) to a JIPP (Jenkins instance per project) in the context of the build infrastructure hosted at the Eclipse Foundation. It can also be used to convert any standalone Hudson server to Jenkins.

Since Hudson and Jenkins diverged, their config file format has changed. Therefore a XSLT transformation is used to convert Hudson config files to be compatible with Jenkins.

It currently only transforms job config files (/JENKINS_HOME/jobs/<job name>/config.xml) and build files (/JENKINS_HOME/jobs/<job name>/builds/<number/date>/build.xml). Basic transformation of main config files has been tested, but deemed not necessary for the conversion in the HIPP/JIPP context.

Backups of each transformed file will be created (e.g. config.bak).

Usage

  1. Copy the Jobs directory from the Hudson Home dir to the Jenkins Home dir.

  2. Run the HIPP2JIPP tool on the Jenkins Home dir:
    java -cp hipp2jipp-<VERSION>.jar org.eclipse.cbi.hipp2jipp.HudsonConfigConverter <JENKINS_HOME>

Converting Views

If the Hudson server has views configured, the command line option -cv can be used to copy the views to the Jenkins main config: java -cp hipp2jipp-<version>.jar org.eclipse.cbi.hipp2jipp.ViewConverter <HUDSON_HOME> <JENKINS_HOME> [OUTPUT_FILE]

Converting Nodes/Agents

If the Hudson server has nodes/agents configured, the NodeConverter can be used to create the correct file structure for Jenkins: java -cp hipp2jipp-<version>.jar org.eclipse.cbi.hipp2jipp.NodeConverter <PATH_TO_HUDSON_MAIN_CONFIG.XML> <JENKINS_HOME>

Known issues

  • Git SCM
    • Checking out more than one Git repo to different local directories is (currently) not supported by the Git plugin (workaround: check out one Git repo with the Git plugin and the second with a shell build step)
  • Maven 3
    • Maven 3 settings files are not available in Jenkins (specific deploy settings have to be put in separate files manually and referenced in the Maven Build step configuration)
    • "Record fingerprints of Maven 3 artifacts" option is not available in Jenkins
  • Shell build step
    • "Temporarily disable this builder" option is not supported out-of-the-box
  • Cascading jobs are not supported in Jenkins
    • they should be converted to normal freestyle jobs first
  • Priority Sorter Plugin

Credits

This tool was inspired by code from Marcel Schutte that he posted in the jenkins-ci Google group here: https://groups.google.com/d/msg/jenkinsci-users/arKSTc3Fz3Q/2JsQk9E0_eAJ

You can’t perform that action at this time.