The limits of VCS (the "no good Perl jobs"/"no good Perl programmers" myth)

Paul Hammond mail at
Wed Aug 9 15:52:01 BST 2006

>> > How about using "cp" for release management? So you use a VCS for
>> > development, but when deploying the code to a staging/production
>> > environment, you tar it up, copy it over and and untar in the
>> > deployment directory.
>> I'd make it a Makefile target, so that it's done automatically, and I
>> can never mess it up.
> And if you go that route, you should cvs/svn export (or equivalent) to
> get exactly what you want, and double-check with manifest, and at
> least deploy with rsync --delete-after instead of cp in order to
> remove old files and have reproducible results. But making packages is
> even better, since package managers know how to cope with
> configuration files that mustn't be overwritten, with pre-installation
> requirements, etc.

also worth looking at capistrano.  Yes it's written in ruby, and by  
default assumes you're deploying a Rails app from SVN, but these are  
just defaults and it's trivial enough to adapt to other uses.

Whatever solution you choose, you need to get your whole deployment  
process down to as few manual steps as possible, preferably one.  Any  
more, and someone will make a mistake.


More information about the mailing list