You are viewing a plain text version of this content. The canonical link for it is here.
Posted to alexandria-dev@jakarta.apache.org by "Jerome Lacoste (Frisurf)" <la...@frisurf.no> on 2002/10/03 23:48:22 UTC

Advice on continuous integration tools

Hi all,

We are currently developing a Java project with the following
characteristics/environment:
- ant build system
- SCC compliant Revision Control System (RCS)
- single repository of the sources
- several modules, but these modules are all internal to the project.
I.e. they are not dependencies across projects as in Jakarta.

In the future I foresee the following: need to support different
versions of the software developed in parallel, and at least several
different configurations for the software (because of different
deployments).


My aim is to introduce the following to the team/project:
- common simple project build system, in the case we would like/need to
have several separate projects/modules built separately using similar
build strategies.
- continuous integration (CI) in order to build and test our software
repeatedly on different configurations

I've been looking at several tools most from Jakarta. My understanding
of the tools is:
- cruisecontrol: simple CI tool, working with several RCSs. I downloaded
version 2.0 but was not that happy with its functionality. Plus seems
less advanced than options from Jakarta
- gump: CI tool, specially designed to handle multiple dependencies 
- maven: project management tool, to control all artifacts generated
within a project in a uniform manner across a site. becomes really
useful when handling several projects
- centipede: build tool based on gump, and, maven

I've read the past flame war between centipede/maven. My understanding
is that centipede is close to Jakarta, and may one day be added to the
Jakarta tools. 

I've been waiting for a stabilization (i.e. release) of the centipede
tool in the past weeks, (I didn't dare trying the CVS version.). But it
has not yet happened. So all my knowledge comes from reading
documentation and mailing lists.

The jakarta tools pleased me with their easy configuration.
Unfortunately they have the following drawback:
- CVS centric
- much bigger complexity than we need: we do not (yet?) have all those
subprojects & dependencies, neither multiple source repositories



Questions:

- is my understanding of the various tools correct? I am a little bit
lost on how to integrate maven/gump/centipede. Especially as the maven
cent was/is to be removed from the centipede project. 
- to make my CI tool, as I didn't find a free java/Ant to SCC interface
library, I will have to write my own wrapper scripts using the command
line API to my RCS. but I am not sure whether I can integrate this into
the CI tools easily. Any comment?
- migrating to CVS seems like a required step at some point. At least
that would ease some things. Unfortunately, I don't think I can make it
happen in the next 6 months. Deadlines are coming and developers would
have to be trained to the new tool which means it won'	t probably happen
until a while. Do you think it is possible to use any of these tools
(especially Gump) without having a hard dependency on CVS? If not, any
idea, perhaps using an Ant target calling the scripts wrapping the RCS
command line ?
- any advice/comment that my be of interest to me? future of the tools,
idea to solve my problems, comment on centipede/gump ...


Cheers,

Jerome


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Advice on continuous integration tools

Posted by Ross Gardler <ro...@saafe.org>.
I have experience of Maven/Centipede so I can at least comment on this 
projects:

Jerome Lacoste (Frisurf) wrote:
> I've read the past flame war between centipede/maven. My understanding
> is that centipede is close to Jakarta, and may one day be added to the
> Jakarta tools. 

If you've read those threads I won;t go into the advantages and 
disadvantages of each approach, they are covered quite well in these 
threads.

> I've been waiting for a stabilization (i.e. release) of the centipede
> tool in the past weeks, (I didn't dare trying the CVS version.). But it
> has not yet happened. So all my knowledge comes from reading
> documentation and mailing lists.

The current beta release of Centipede is very stable. I have been using 
it for quite some time on a number of projects. However, there are some 
fundamental changes being made at present to the way to the way the core 
system works. The most important is that with the next release only one 
central version of Centipede will be required (at the moment each 
project uses it's own copy).

It is safe to start using Centipede now, the migration path to the next 
version will be perfectly manageable, but will involve some config file 
changes.


> Questions:
> 
> - is my understanding of the various tools correct? I am a little bit
> lost on how to integrate maven/gump/centipede. Especially as the maven
> cent was/is to be removed from the centipede project. 

A vote has been taken on this and the decision was *not* to remove 
Maven. The reason the vote arose in the first place was that nobody is 
supporting the Maven cent, presumably because no one currently using 
Centipede needs it (I know I have it turned off in all my projects). 
However, it is to remain in place so that shuold someone want to support 
it they can.


> - to make my CI tool, as I didn't find a free java/Ant to SCC interface
> library, I will have to write my own wrapper scripts using the command
> line API to my RCS. but I am not sure whether I can integrate this into
> the CI tools easily. Any comment?
> - migrating to CVS seems like a required step at some point. At least
> that would ease some things. Unfortunately, I don't think I can make it
> happen in the next 6 months. Deadlines are coming and developers would
> have to be trained to the new tool which means it won'	t probably happen
> until a while. Do you think it is possible to use any of these tools
> (especially Gump) without having a hard dependency on CVS? If not, any
> idea, perhaps using an Ant target calling the scripts wrapping the RCS
> command line ?
> - any advice/comment that my be of interest to me? future of the tools,
> idea to solve my problems, comment on centipede/gump ...
> 
> 
> Cheers,
> 
> Jerome
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>