Thursday, January 10, 2008

More on source repository hosting: What about Continuous Integration?

My previous post 'Source repository hosting: Why do it yourself?' talked about the possibility of using an off-site source repository for hosting commercial code. I got a great comment from Dave Verwer:

"This is exactly the decision I made when I started my company about 18 months ago and I have never looked back. I use CVSDude (who also do SVN, of course) and their service has been outstanding while I have been with them."

Well, if it's good enough for Dave... But how do you do continuous integration when your source control is off site? Continuous integration tools like Cruise Control rely on knowing when a source control update has taken place in order to kick-off a build. Apparently there is a way; here's an email reply I got back from Mark Bathie at CVSDude:

"Your can use our post-commit call back facility to call a URL on your
server, which passes variables relating to the last checkin (variables
detailed in our specification). Your CGI script will these variables and
perform whatever tasks are required i.e. updating Cruise Control, etc."

I'm keen to try it out now. I'm kicking off a new project in the next few days, so CVSDude say hello to your new customer :)

2 comments:

Richard said...

Hi there,

I am looking for similar services as I am starting to build up a codebase for my freelance work. I need something relatively cheap but with the ability to allow me to grow.

I would like CI also but cannot find a service - how are you finding the CVSDude service and how is the continuous integration going?

Regards,
Richard

Mike Hadlow said...

Hi Richard,

I'm using CVSDude at the moment. It's all been very smooth so far. I haven't tried to set up continuous integration yet, mainly because the current project is a solo one and it's sufficient to simply test my local builds by uploading to the test server. I'd like to hear anyone else's experience of off-site source control, especially on a larger project, so let me know how you get on.

Mike