[Cruisecontrolrb-users] Is CruiseControl.rb for me?
Eric Hanchrow
eric.hanchrow at gmail.com
Mon Apr 21 16:32:00 EDT 2008
Thanks for the quick response, but I don't think externals will work,
because I don't want to change the structure of our source tree; doing
so would force the developers to change the way they work, and one of
my goals is to avoid that.
On Mon, Apr 21, 2008 at 1:28 PM, Billy Kimble <bkimble at inc21.com> wrote:
> You can probably use SVN externals to achieve what you want :)
>
> Structure:
>
> /project -> http://yourdomain.com/svn/project
> /lib -> SVN External pointing to http://yourdomain.com/svn/kits/lib201
> /config -> SVN External pointing to http://yourdomain.com/svn/kits/
> config991
> /docs -> SVN External pointing to http://yourdomain.com/svn/kits/
> docs2093
>
>
> In this scenario, if you add http://yourdomain.com/svn/project to
> CC, it will trigger any time anything in ANY of the kits is
> committed. If you add just the kit's svn repository location to CC,
> it will only trigger for that particular kit.
>
> Does this help?
>
> Tag a kit and just add that kit to the repository, or
>
>
> On Apr 21, 2008, at 1:20 PM, Eric Hanchrow wrote:
>
> > Naturally I want some sort of continuous integration system. But what
> > makes my situation unusual is that what I want to build is structured
> > in an unusual way, and it's not clear to me if CruiseControl.rb can
> > gracefully handle that structure.
> >
> > I want to independently build half a dozen "projects", each of which
> > (in CruiseControl.NET terms) is its own "queue". Each corresponds to
> > one deliverable set of files. (One project represents our web site;
> > another represents a Windows installer that we build ... etc). Now,
> > those projects don't simply correspond to a single Subversion URL;
> > instead, each is composed of a number of "kits", each of which has its
> > own Subversion URL. We have about 50 separate kits; most are
> > basically a bunch of C-sharp files and a .csproj file. Each kit
> > typically depends on some others; the kits thus form a directed
> > acyclic graph of dependencies. We have a tool that will build a kit,
> > and all its dependencies; and will also check them out of Subversion
> > if needed. I wrote this tool myself and am perfectly comfortable
> > hacking it.
> >
> > For each project, I want CruiseControl.rb to monitor the bits of the
> > subversion repository that correspond to the constituent kits, and
> > trigger a build whenever anything changes in those bits. Note that
> > this is not the same as monitoring the entire repository, since I
> > don't want a change in an unrelated kit to trigger a build for this
> > project; nor is it the same as monitoring just one kit, since the
> > project depends on many kits. Our building tool already knows how to
> > determine whether a kit needs to be updated, so I'm imagining that
> > CruiseControl.rb would simply invoke the build tool as a subprocess.
> >
> > At first I thought I would be able to teach it to do this by suitable
> > fiddling of the "SourceControl" class, but I quickly confused myself
> > -- partly because I haven't yet figured out how CruiseControl.rb
> > works, and partly because I barely know the fundamentals of Ruby.
> >
> > I also have a very vague suspicion that, fundamentally,
> > CruiseControl.rb assumes that there's a one-to-one-to-one
> > correspondence between projects, Subversion URLs, and working copies;
> > and that I'd need to change that assumption in order to get things
> > working the way I want.
> >
> > Anyway: does sound doable -- for someone who's a decent programmer but
> > new to Ruby -- and if so, do you have any advice on how to start?
> > _______________________________________________
> > Cruisecontrolrb-users mailing list
> > Cruisecontrolrb-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
> >
> > --
> > This message has been scanned for viruses and
> > dangerous content by MailScanner, and is
> > believed to be clean.
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> _______________________________________________
> Cruisecontrolrb-users mailing list
> Cruisecontrolrb-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
>
More information about the Cruisecontrolrb-users
mailing list