I've setup a continuous integration build with Hudson running on Tomcat. I now need to move this a different instance of Tomcat, but don't want to have to configure everything from scratch.
Is there a configuration file that defines each job which I could copy to the new server, or is to possible to import/export a job via the user interface?
Thanks,
Don
Check the .hudson directory in the homedir of the user that runs the hudson process. (At least: that is the location hudson writes its config files to if you run it using java -jar hudson.war on linux).
Also: http://wiki.eclipse.org/Administering_Hudson
Since I cannot up-vote, I will add that Simon's answer is the best. The link to the relevant section about copying and moving jobs can be found at the following location:
http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson#AdministeringHudson-Moving/copying/renamingjobs
When we migrated to a new server we just copied the jobs
folder over to the new server. There can be a huge amount of data in the builds
folder in each job, so we left those out.
Everything worked fine for us after the transfer but we had a fairly simple initial setup.
job import plugin will do.
Import jobs from another Jenkins instance.
Here is Jenkins Job import plugin :
https://wiki.jenkins-ci.org/display/JENKINS/Job+Import+Plugin
One best practice is to create an environment variable HUDSON_HOME on the server running Hudson. This variable name will be used by Hudson to store all configuration and job data.
Without this variable Hudson will create a folder under $USERHOME/.hudson (On Windows it will be c:\Documents and Settings[user].hudson].
One advantage of using HUDSON_HOME variable is that it will allow you to start Hudson with any user, what is somehow common when using a remote Windows server to host.
In the jobs/[job name] directory there is a config.xml file. This is the one I typically mark for backup when I backup a new Hudson job.
You should be able to just copy it over and maybe modify minor details, depending on your Hudson setup and environment variables.