[ic] Production deployment methods

John Young john_young at sonic.net
Thu Aug 28 13:51:28 EDT 2003

Jason Lee asked:

[...stuff omitted..]

> I'd like to be able to edit locally on my machine and push to the prod 
> machine or even edit a local network dev server and then test and then 
> push to prod. I was thinking about rsync'ing from a stage machine to the 
> prod machine, but I would really prefer to use some sort of SSH or SCP 
> to get changes out to that prod  machine since if I was ever remote, 
> this would work nicely - I wouldn't be just tied to my local network to 
> make changes in other words. Nor would other possible contributors.

How about rsync with ssh:

cd /source/directory
rsync -auvze ssh . server:/some/destination/path/

To test and not actually copy, add an 'n' argument (rsync -auvzne ssh ...).
You could write little shell scripts for portions of your development area
so that you don't have to scan everything if you have a large site.

Carefully consider the rsync's --delete argument - you might want to use
it when sending to the production server, but not when sending from a
secondary development server to your primary development server.

 > Like I said, in the Java world, we used CVS to check out our code base
 > on a stage machine and if it passed, then we'd archive the app and push
 > out the prod using various scripts that contained SCP/SSH commands in
 > them. So something like this would be ideal for me, but I'd like to get
 > others input before I embark on this.

Sounds reasonable.  rsync -e ssh is nice because no additional open ports
are needed other than that required for ssh alone.  Setting up an rsync
server daemon is not necessary.

Congratulations on your progress,
John Young

More information about the interchange-users mailing list