I am attempting to figure out the best method to promote files from
subversion to development, staging, and production webservers. In the
past I have used mapped drives (on windows machines), and rsync /
unison on linux boxes. Currently with a hybrid (linux / windows)
environment, I am at a loss for a clear solution.
I have the following environment set up for web development files:
SVN (windows)
-trunk (dev code)
-branches
----staging
----production
Web Server Dev (linux)
Web Server Staging (linux)
Web Server Production (linux)
What are the available methods to get the files from the svn
repository to the production servers?
Option 1
Install an svn client on the webserver boxes, restrict to read access
to the production branch. Build a simple but secure web app to fire
off the task of updating the web root. This however introduces a two
step process (commit and update) for environments (dev or possibly
staging) that should have single step updates. Also, If the system is
compromised, hackers can update the code with older erroneous
versions.
Option 2
On the svn box, checkout to a local folder and use a file mirroring
utility to promote files to the production environment. This
eliminates the risk of access to older code versions, but also inserts
a third tool into the chain. Being windows and linux, the available
solutions of rsync and unison are implemented poorly. A direct
network connection (utilizing samba) has been determined to be too
high of a security risk.
Questions:
Are there better tools for syncing files between windows / redhat than
unison or rsync?
Are there any sftp or scp scripts pre built that sync directories?
Are there better solutions to file promotion than the above attempts?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Apr 27 23:44:36 2007