CruiseControl / NANT <copy> Task
We have a website with all media (css / images) stored in a media folder. The media folder and 90 subdirectories contain about 400 files. We have a Cruiscontrol project that only monitors the media directory for changes and copies these files to our integration server at startup.
Unfortunately, our integration server is located in a remote location, so even when copying 2-3 files, the NANT task takes 4+ minutes. I believe the combination of sheer number or directories / files and our network latency makes the NANT task slow. I believe it compares the modified dates of both local and remote copies of each file.
I really want to speed this up, and my initial thought was instead of trying to copy the entire media folder, can I get the file changelog from CruiseControl, and in particular copy those files, keeping the NANT task to compare them all for changes.
Is there a way to do what I'm asking, or is there a better way to achieve the same performance gain?
a source to share
This sounds like a job for RoboCopy . Use NAnt to load the script and let RC sync the files.
Update: delving deeper into the CCNet documentation you will find the challenge<modificationWriter/>
. Adding this task to the ccnet project will write out an XML file containing information about all modifications. You should be able to read the contents of this file into a NAnt script. Here it is suggested to use NAnt task<style/>
to convert xml file to NAnt script containing copy
both delete
tasks.
a source to share