The limits of VCS (the "no good Perl jobs"/"no good Perl programmers" myth)
mail at paranoidfish.org
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 london.pm