I use both tools in our build.
As expressed by the previous posts in this thread, each tool has its strengths.
I view ccnet as a high level scheduler which provides automation and reporting
features that I need. NAnt, on the other hand is the work horse, handling all
of the low level nuts and bolts processes using either existing tasks or stuff
that I cook up in C#.
As an example of why this is useful, where I work, one of the requirements of
the build system is that both the development team and release engineering
should be building the same way at a low level. In other words, developers
should be able to fire off a build at the command line in the same exact way
that my ccnet server launches the nightly build. Since developers don't have
(nor do they want ...) ccnet installed on their development systems, all of the
actual build work is done in a NAnt script. This way developers can test their
changes in a build environment that is identical to mine to make sure they
don't break anything.
This works well for me and the developers, especially given the massive size of
the project we work with. I am, however, a firm believer in the "simpler is
always better" model. The less stuff you have in your process the fewer the
number of points of potential failure you will have. If all you really need to
do is call devenv to build a .NET solution and perform a few other simple
tasks, you may just be able to get away with ccnet by itself. On the other
hand, if like me, you are dealing with a project that has a lot of complex
tasks to perform like mixed platform compilations (we have a huge mix of
unmanaged c/c++/vb projects and managed c++ and c# stuff here ...) you may be
better served using a tool like nant in conjunction with ccnet.
Just my 2 cents, I hope that it's helpful.
Take care,
Mike
From: Phil Sayers [mailto:p...@cds-am.net]
Sent: Thursday, February 04, 2010 5:19 PM
To: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] Nant VS CC.NEt
Think of ccnet as the trigger that fires your nant scripts.
Ccnet will continuously watch "something". That something could be the current
time, one or more source control repositories, the filesystem, or you can write
your own code to monitor whatever you want.
When "something" changes (a commit, new file, changed file, time of day), ccnet
will execute "actions" that you specify.
Those actions are typically nant scripts, the same scripts you would use
locally to build your product. You could use batch files, .vbs files,
powershell scripts I guess if you wanted too.
This allows you to have unattended server builds of your code.
However if you hack away at the ccnet engine hard enough, you could probably
make it do robo dialing for a politician based on when a list of phone numbers
change.
From: Chris Howell [mailto:chris.how...@padresoft.com]
Sent: Thursday, February 04, 2010 5:10 PM
To: Stephan King
Cc: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] Nant VS CC.NEt
Ok perhaps I should have phrased my question a little better, I am looking for
CI and daily builds. I've used CC.Net before exclusively without NANT. My
question was more why would I choose to use the functionality exposed in NANT,
such a executing tasks, copying files etc.... When CC.NET also has utilities
for doing the same thing ? There seems to be quite a bit of over lap between
the tasks that CC.Net can don and the tasks that NANT can do. Therefore what is
the benefit ? Of combining the two ?
From: Stephan King [mailto:sk...@inquesttechnologies.com]
Sent: Thursday, February 04, 2010 4:56 PM
To: Chris Howell
Subject: RE: [NAnt-users] Nant VS CC.NEt
You don't choose one over the other, they go hand in hand. CC.NET will handle
all of your source control operations, scheduling, emailing, publishing, etc,
and CC.NET will call into your NANT scripts to do things like run MSBuild, copy
files, etc.
Stephan
From: Chris Howell [mailto:chris.how...@padresoft.com]
Sent: Thursday, February 04, 2010 4:33 PM
To: nant-users@lists.sourceforge.net
Subject: [NAnt-users] Nant VS CC.NEt
Hi All,
I am looking to introduce a Continuous Integration/build environment to my dev
team which currently has none. What would be the primary advantage(s) to
choosing a NANT too over CC.NET ?
Chris
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users