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