tags:

views:

79

answers:

2

we want to use Hudson for our CI, but our project is made of code coming from different repository. For example: - org.sourceforce... should be check out from http:/sv/n/rep1. - org.python.... should be check out from http:/sv/n/rep2. - com.company.product should be check out from http:/sv/n/rep3.

right now we use an ant script with a get.all target that checkout/update the code from different rep.

So i can create a job that let hudson call our get.all target to fetch out all source code and call a second target to build all. But in that case, how to monitor change in the 3 repositories ?

I'm thinking that I could just not assign any repository in the job configuration and schedule the job to fethc/build at regular time interval, but i feel that i'll miss the idea of CI if build can't be trigger from commit/repository change.

what would be the best way to do ? is there a way to configure project dependencies in hudson ?

A: 

I assume you're using subversion. If not, then please ignore.

Subversion, at least the newer version of it, supports a concept called 'Externals.'

An external is an API, alternate project, dependency, or whatnot that does not reside in YOUR project repository.

see:http://svnbook.red-bean.com/en/1.1/ch07s04.html

CMB
+1  A: 

I haven't poked at the innards of our Hudson installation too much, but it there is a button under Source Code Management that says "Add more locations..." (if that isn't the default out-of-the-box configuration, let me know and I will dig deeper).

Most of our Hudson builds require at least dozen different SVN repos to be checked out, and Hudson monitors them all automatically. We then have the Build steps invoke ant in the correct order to build of the dependencies.

Adam Batkin
i didn't see that button :) seem to be doing what i need. Will try out later today.Thanks.
Lionel
it works perfectly. Thanks for the tip.
Lionel

related questions