The limits of VCS (the "no good Perl jobs"/"no good Perl programmers" myth)
Paul Hammond
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.
http://manuals.rubyonrails.org/read/book/17
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.
Paul
More information about the london.pm
mailing list