[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

C++: CruiseControl, Condor, Bonsai, Tinderbox, Kepler?

From: Matt England <mengland_at_mengland.net>
Date: 2006-02-07 19:50:36 CET

(I apologize for the ambiguous "Subject:"; it was designed to get the most
attention in a small space.)

Summary:

I manage a C++ based software development project based on subversion, and
I'm looking to enhance said project's automated build, monitoring, release,
test, and general quality-assurance control.

I'm looking for feedback from the Subversion community regarding experience
with recommendations for these sorts of systems with a large-scale C++ project.

Details:

Some tools I've been investigating to assist with this:

http://www.cs.wisc.edu/condor/
http://www.mozilla.org/projects/bonsai/
http://www.mozilla.org/projects/tinderbox/
http://kepler-project.org/
http://cruisecontrol.sourceforge.net/

Our software product creates (at least on the server side) a "distributed
system" of servers (some call it a "grid"), and as such we would like at
least some part of our control systems to be aware of and help manage (if
possible) these distributed servers. A friend of mine involved with the
Globus Grid project mentioned that at least parts of Globus leverage Condor
for some of the build-and-test workflow systems (and Bonsai and Tinderbox
for related things--although I'm getting the impresison that Bonsai and
Tinderbox only play nicely with CVS and not Subversion). I fear that
Condor is not well known/used, and therefore may be harder to
learn/integrate into our systems.

CruiseControl seems to be an alternative, but I'm not sure how "distributed
system" aware it may be. I plan on taking this up with a CruiseControl
user list.

We are primarily a C++ based project. No java as of yet, no plans in the
near future for it. We also have other various scripting
programs/constructs based in (but not limited to) bash, php, perl, etc, but
the vast majority of our stuff is C++ for our core programs.

We also have what we feel is a mature make/Makefile system that suits us
extremely well, and eliminates the necessity to hard-code make rules,
automatically handles platform differences, and other unique capabilities
that we build into our make system. (I must admit my bias: I personally
wrote our makefile stuff.) We build on multiple platforms (currently and
near future: mingw, rhel/centos, fedora, debian, freebsd) and
auto-integrate/embed many modules (openssl, postgresql, boost, etc etc)
into our distribution package in a tightly-coupled way that seems to work
quite well.

In short: we think we have the auto-build problem solved, and we want to
make sure that anything that "sits on top of it" plays nicely with GNUmake
3.80 (the gnu make "standard" in my book).

I've seen several references to a book titled "Pragmatic Version Control
with Subversion": <http://www.bookpool.com/sm/0974514063> ...but I'm
getting the impression that said book presents a Java-focused perspective,
and to reiterate we a *not* a Java shop. (There seems to be more Java
projects then stars in the sky.)

-Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Feb 7 19:52:05 2006

This is an archived mail posted to the Subversion Users mailing list.