The middle way works well on one of our servers.

We didn't want to build on every change, so we set up a separate cruise
project that monitors the build tools separately from the code builds.
It's scheduled to run at the end of the day, and it installs all updated
tools when it spots a change.  

If the build fails, or causes the code builds to fail, the developers
investigate and decide whether to pull the new tool(s) out, fix their
build or whatever.  The toolkits aren't updated a lot - maybe once a
fortnight.  If it was more often, this might not be too useful for us.
It was also very useful when I was moving the buildserver - I was able
to install the absolute minimum (cruise, nant and the cruise config
files) and just force a build to get everything else loaded on the
machine.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Anderson,
Kelly
Sent: 18 October 2005 04:08
To: nant-users@lists.sourceforge.net
Subject: [Nant-users] Install Tools


There is not really a right or wrong answer to this, but I am curious as
to whether there is any point to installing tools as part of a build
process.

For example, one could go to the length of installing the compiler, code
generators, revision control system, cruise control and basically
everything except maybe NAnt from your build script. It would have the
advantage of setting up the whole environment, and being able to have
the environment be setup correctly from any machine that runs the
script. This would be helpful if you had to recreate an old environment.


It would obviously have the disadvantage of running much more slowly.

I suppose a middle ground would be to have a separate NAnt script/target
that did these sorts of installs, and you only run it when you are on a
new machine, or something has changed...

If you just expect the tools to be installed, then you have a job
setting up a new machine, virtual machine or whatever. If you do this
often, it might be worth automating, and it might be as easy to write a
NAnt script to do this as to document the process.

Any thoughts? What do you do to manage your tool sets? 


A similar question comes up as to whether to do a clean before a build
every time, or just some of the time (say the nightly build) or just
when manually requested. These clean builds are useful from time to time
especially if files have been deleted from revision control, and you
want to make sure everything still works, but they can also be very slow
for a Continuous Integration environment.

-Kelly





E-Mail messages may contain viruses, worms, or other malicious code. By
reading the message and opening any attachments, the recipient accepts
full responsibility for taking protective action against such code.
Sender is not liable for any loss or damage arising from this message.

The information in this e-mail is confidential and may be legally
privileged. It is intended solely for the addressee(s). Access to this
e-mail by anyone else is unauthorized.



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads,
discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to