I have uploaded a tar of a copy strategy 'rsync' into this group
'rsync_copy_dest.tar'. It uses the --copy-dest flag provided by rsync
to reference the most recently deployed release as the local copy to
compare against.
--copy-dest=DIR
This option behaves like --compare-dest, but rsync will
also copy unchanged files found in DIR
to the destination directory using a local copy. This
is useful for doing transfers to a new
destination while leaving existing files intact, and
then doing a flash-cutover when all files
have been successfully transferred.
Multiple --copy-dest directories may be provided, which
will cause rsync to search the list in
the order specified for an unchanged file. If a match
is not found, a basis file from one of
the DIRs will be selected to try to speed up the
transfer.
If DIR is a relative path, it is relative to the
destination directory. See also --com-
pare-dest and --link-dest.
The nice thing about this is that a new release will get all the code
previously released plus any changes made, making the copy extremely
fast.
The steps for the strategy are:
1) checkout revision from SCM to local directory
2) rsync data out to all servers with --copy-dest and checksum flags
The only downside i see to this is that it depends on a rsync
executable. If there is interest in incorporating this into the
project, i could probably create something in pure ruby that would be
rsync-like and accomplish the same thing.
--eric
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---