Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Version Control for Hudson Continuous Integration Build Jobs

We have a continuous integration server with over 40 jobs that are constantly changing. I would like to version control continuous integration build jobs in Hudson so we can roll back changes if we have problems.

Is there a Hudson plugin that will do this or other solution that already exists or should I keep the config.xml files in SVN.

like image 772
Andrew Hopper Avatar asked Mar 28 '10 15:03

Andrew Hopper


3 Answers

Hudson Labs has a really great write up on this, Keeping your configuration and data in Subversion

This is the first bit of the article

We all know that keeping important files in version control is critical, as it ensures problematic changes can be reverted and can serve as a backup mechanism as well. Code and resources are often kept in version control, but it can be easy to forget your continuous integration (CI) server itself! If a disk were to die or fall victim to a misplaced rm -rf, you could lose all the history and configuration associated with the jobs your CI server manages.

It’s pretty simple to create a repository, but it isn’t obvious which parts of your $HUDSON_HOME you’ll want to backup. You’ll also want to have some automation so new projects get added to the repository, and deleted ones get removed. Luckily we have a great tool to handle this: Hudson!

We have a Hudson job which runs nightly, performs the appropriate SVN commands, and checks in

You only seem to be interested in the configuration, which is fine, just ignore or filter out the bits about the data and focus on the configuration.

like image 111
Allen Rice Avatar answered Oct 09 '22 04:10

Allen Rice


This is one of the more recent threads about using version control with Hudson's configuration on the Hudson users list.

There are no plugins to do store configuration in an SCM right now (March 2010) though the backup plugin might do something close to what you want, but perhaps with less of a view of 'change' and more of just a snapshot at any given time.

like image 38
TheDon Avatar answered Oct 09 '22 03:10

TheDon


The relatively new Job Config History plugin gets part of the way there - it doesn't actually store the configurations in source control, but it does provide history and auditing of changes to jobs.

like image 43
abayer Avatar answered Oct 09 '22 03:10

abayer