Table of ContentsThis page discusses how you upgrade from Hudson to Jenkins. Note that migration is only supported from Hudson <= 1.395 Before you beginPlease make a backup, especially the Hudson home directory, that contains the most important information, such as jobs, configuration and build history. In the unlikely event that something goes wrong you can recover from the backup. When you are actually migratingBasicsJenkins is basically a drop-in replacement to Hudson. It's the continuation of the same code base, in same package structure. There has been no major surgery since the rename, and the rename really only affected what's shown in the UI. As such, it understands the same set of environment variables, same system properties, and the same information in the home directory. So if you rename jenkins.war as hudson.war, and simply overwrite your hudson.war, the upgrade is complete.
Debian packageCurrent users of the Hudson debian package should follow the instruction here for the new users. When you do "apt-get install jenkins", it will uninstall the hudson package, transfer your /var/lib/hudson to /var/lib/jenkins.
RedHat/openSUSE packagesCurrent users of the Hudson rpm package should follow the instruction here (Red Hat) or here (openSUSE) for the new users. When you do "yum install jenkins" or "zypper install jenkins", it will uninstall the hudson package, transfer your /var/lib/hudson to /var/lib/jenkins. See the caution about the Debian package above, with regard to what happens to /var/lib/hudson and the hudson user. In RPM packages, the configuration file is in /etc/sysconfig/... instead of /etc/default/....
Installed as Windows serviceIf you've installed Hudson as a Windows service, stop the service and overwrite hudson.war with jenkins.war, and restart the service. No additional steps are necessary. If you prefer, you can uninstall Hudson as a service (by executing hudson.exe uninstall which produces no output on successful execution), and re-install Jenkins as a service from GUI. During this process you'll be asked to specify the installation directory. Choose the same directory you've installed Hudson so that your data gets carried over. Installed in servlet containerIf you've installed hudson.war into a servlet container that you administer, download jenkins.war and deploy it as hudson.war. If you prefer, you can just undeploy hudson.war and deploy jenkins.war. Jenkins recognizes HUDSON_HOME environment variable and system property, so it'll automatically find your existing data.
If you are thinking about upgrading to Jenkins but not ready to do so nowYou can install Jenkins update center in your Hudson so that you get update notifications of future Jenkins releases. You can use the built-in upgrade mechanism in Hudson to smoothly migrate to Jenkins. To do so, go to "Manage Hudson" > "Plugin Management" > "Advanced" > "Update Site" and specify "http://updates.jenkins-ci.org/update-center.json" After upgradingWhile you are at it, please check this document and retrieve/create your account on jenkins-ci.org, so that you can file issues, participate in Wiki, and so on. |
Upgrading from Hudson to Jenkins
Skip to end of metadata
Go to start of metadata
Comments (17)
Feb 03, 2011
robertredd - says:
I'm on RedHat Linux and I'm just wondering if after the upgrade, will the proces...I'm on RedHat Linux and I'm just wondering if after the upgrade, will the process owner change from hudson to jenkins? I have my private keys to the build nodes setup under the hudson id on the machine as well as some other processes.
Update: So I see in the debian notes that it will indeed change the user to jenkins. But, I can modify the /etc/sysconfig to run as hudson if I want after the fact. Is that all I need to do if I'm ok with the move to /var/lib/jenkins? Just change the user in that /etc/sysconfig? That would be nice since I have private keys to remote nodes and even my maven repository info all configured in my hudson user's home dir.
Thanks.
Feb 03, 2011
Kohsuke Kawaguchi says:
Yes, follow the notes in the Debian package section if you'd like to keep Jenkin...Yes, follow the notes in the Debian package section if you'd like to keep Jenkins run as the hudson user.
Feb 04, 2011
robertredd - says:
If I'm on a Red Hat Linux machine and I've used yum to install hudson originally...If I'm on a Red Hat Linux machine and I've used yum to install hudson originally, can I just download the jenkins.war and copy it over the existing war? Where does the war file live in a standard yum install? Or do I really need to use the yum install jenkins instructions in this case.
Update: Sorry, I see the hudson.war in /usr/lib/hudson
Update: In case this helps someone else: I'm on Redhat Linux and I ended up downloading the war, renaming it to hudson.war and replacing the hudson.war in /usr/lib/hudson. Then it self-deployed the war on startup of Jenkins just fine and I was able to keep my original directories and users. Of course, I'll have to use this manual update method moving forward. One issue I did run into was on my Windows slaves. I couldn't get the nodes to startup if they were Windows. I ended up temporarily switching the node configuration to the jnlp type and then using the jnlp installation on the remote node and selecting the "install as windows service" option in the pop-up window. After that was done, I could go back and switch the node configuration back to the windows service type. Everything is working great now.
Thanks,
Robert Redd
Feb 18, 2011
Parag Doke says:
Hi everyone. Are there plans to modify the node names from job config files to ...Hi everyone.
Are there plans to modify the node names from job config files to replace hudson with jenkins ? Possibly this question has already been answered somewhere, but I just thought of asking it here since this wiki page talks of upgrade from Hudson to Jenkins.
What I am referring to is (sample config.xml excerpt):
Will <hudson.tasks.Ant> be the new way to go or should we replace it with <jenkins.tasks.Ant> ?
Thanks in advance!
Parag Doke
Feb 23, 2011
kbond - says:
Hello all, I just upgraded my CI servers to Jenkins and I have to say the trans...Hello all,
I just upgraded my CI servers to Jenkins and I have to say the transition was very smooth - no problems.
Great work to everyone involved.
- Kevin
Jun 17, 2011
Raghu Semburakkiannan says:
We had hudson instance with large number of projects and decided to use jenkins....We had hudson instance with large number of projects and decided to use jenkins. We referred this wiki page to upgrade from Hudson to Jenkins. We didn't face any issues, it works well.
Jul 12, 2011
Alex Lombardi says:
A month or two ago we migrated from Hudson to Jenkins, and everything went as sm...A month or two ago we migrated from Hudson to Jenkins, and everything went as smooth as can be. I am currently on Jenkins version 1.409.1 and being curious as to why I had not seen any options to upgrade to a newer version on the "Manage Jenkins" page went to your Changelog page to check and found numerous other releases had followed. I went to the Advanced Tab in the Plugin Manager to see if I could trigger a check for a new release manually, but I still only see the option to downgrade back to 1.395.1 and no other choices. All my plugins have been upgraded to the lates versions Jenkins offered, but this also still has not allowed me to get the option to upgrade to any newer versions of Jenkins. Am I missing something?
Jul 18, 2011
David Aldrich says:
I'm no expert,but I guess that this is because 1.409.1 is the 'long-term support...I'm no expert,but I guess that this is because 1.409.1 is the 'long-term support release'. 1.409.1 is the latest release on that 'branch'.
Aug 09, 2011
Victor Silva says:
Simply replacing the hudson.war with a jenkins.war file renamed as hudson.war do...Simply replacing the hudson.war with a jenkins.war file renamed as hudson.war does not works well when Hudson is installed as a windows service. The JAR is replacing correctly and Jenkins runs. However, if you try to upgrade Jenkins to a new version, it will "upgrade" to Hudson, effectivelly reverting the replacement. The problem is that the data about download locations for upgrade still points to hudson-ci. There is a simple way to fix this without reinstalling everything from zero?
Aug 23, 2011
Kohsuke Kawaguchi says:
The short answer is that you just need to let it sit for a day, so that Jenkins ...The short answer is that you just need to let it sit for a day, so that Jenkins will retrieve a fresh update metadata from our update center. At that point, your upgrade will correctly point to future Jenkins releases.
There's a ticket filed in the JIRA tracking this. Thanks for reporting this.
Oct 24, 2011
Tracy Turner says:
I Did this: ---> You can install Jenkins update center in your Hudson so...I Did this:
---> You can install Jenkins update center in your Hudson so that you get update notifications of future Jenkins releases. You can use the built-in upgrade mechanism in Hudson to smoothly migrate to Jenkins. To do so, go to "Manage Hudson" > "Plugin Management" > "Advanced" > "Update Site" and specify http://updates.jenkins-ci.org/update-center.json
Now what?
Nov 22, 2011
Eugene Gunov says:
One gotcha I faced during the migration is the case of Hudson running in a serv...One gotcha I faced during the migration is the case of Hudson running in a servlet container like Tomcat. There are environment variables to point to the Hudson/Jenkins home directory (which is typically ~/.hudson for Hudson). Jenkins supports both HUDSON_HOME and JENKINS_HOME. When upgrading I renamed that variable from HUDSON_HOME to JENKINS_HOME (pointed to the same ~/.hudson dir). That caused Jenkins to ignore existing Hudson configuration (including all job setups). When I reverted that variable name back to HUDSON_HOME it worked correctly. Otherwise upgrade went smoothly without issues (even with plugins) - great job!
Mar 08, 2012
William Dieter says:
I just upgraded from Hudson to Jenkins on Ubuntu 11.10. The apt-get instal...I just upgraded from Hudson to Jenkins on Ubuntu 11.10. The apt-get installer did not migrate /var/lib/hudson to /var/lib/jenkins, but that was easy enough to do manually. The tricky part was that when I start Jenkins with
It ignored /etc/default/jenkins and instead got defaults from /etc/init/jenkins.conf. The default values are fine unless you want to change the www prefix. The file format of /etc/init/jenkins is different from /etc/default/jenkins, so you cannot just copy /etc/default/jenkins over top of /etc/init/jenkins.conf.
Jul 04, 2012
Jens says:
Hi everyone. I started with Hudson because I didn't know any better. ;) Now I w...Hi everyone.
I started with Hudson because I didn't know any better. ;) Now I want to migrate my Hudson 2.2.0 Builds to Jenkins but when simply replacing the .jar file won't work I get lots of errors and my builds are all gone. My Users and the Slave configuration are fine though.
Is there a guide of some kind to help me migrate from a newer Hudson build to Jenkins? I'm using Windows on my master node.
Apr 09, 2013
Joost Joost says:
I successfully migrated from Hudson 2.2.1 to Jenkins 1.509. Here is the Ant scri...I successfully migrated from Hudson 2.2.1 to Jenkins 1.509. Here is the Ant script that I created for this: http://pastebin.com/bjy6Jbjj
Make sure to read the description carefully!!
Jul 17, 2013
medar li says:
Hello Joost, I tried migrating hudson 2.2.0 to Jenkins, but failed. Unfortunatel...Hello Joost, I tried migrating hudson 2.2.0 to Jenkins, but failed. Unfortunately I can't open the link you provided. Could you help to send your script to my mailbox: medar@139.com? Thanks very much.
Feb 24
alexey shchetinin says:
A little bit updated script, at least supporting multiconfiguration projects and...A little bit updated script, at least supporting multiconfiguration projects and promoted build plugin
https://github.com/alexeyvs/jenkinstools
still requires a lot of hand work, but mostly works for me for migration from hudson 3.2.1 to jenkins 1.595
Add Comment