• SVN auto publishing to Windows servers

    by  • 10th November 2006 • post

    I need to setup a system which uses SVN for storing ‘website’ revisions and automatically updates live/review/development systems whenever there is commit. Adding a little bit of complication each server is updated from different branch.

    If website serving boxes would be any kind of UNIX, this post would not exist… way too easy.

    Web servers are Windows boxes  and they are located in different networks, so no SAMBA.

    My ideas so far :

    Naturally using hooks in repository…

    1. Using rsync
      This idea was to : whenever content of a branch is changed, branch is exported locally on SVN server, rsync it to Web server.
    2. Using FTP
      similar to rsync , instead of using rsync for file transport we would use FTP
    3. Using SVN+HTTP
      Here it gets lil bit more complicated ,  after branch changed, svn server sends HTTP request to web server, which fires svn up .

    Each of an ideas has its minuses, 1 uses precious svn server disk space for second copy, requires web servers to run rsync servers. 2 uses disk space on svn and abuses a lot of bandwidth every time when something changes. 3 requires web servers to have svn clients installed and custom CGI/ASP/Whatever which will trigger svn updates on local copies.

    There is one more, using scripting language to write FTP/SVN integration : something like ftp client which instead of uploading from File System it would upload from SVN … that looks good! will have to research on which tools I can use to do that! 🙂