A couple of the Rails projects on which I'm working appreciate frequent, incremental updates, which I think is great. Our current deployment strategy is manual but we're considering switching to an automated tool like Capistrano; however, it also occurred to me that it might be even better to just deploy a Subversion working copy instead.
Here are the benefits I can see, off the top of my head:
- No need to export/zip/copy/ssh/unzip to deploy code (just
svn update
). - Easily rollback to any revision (e.g.
svn update -r 123
). - Easily determine currently deployed revision (
svn info
/svn diff
).
Of course, this strategy wouldn't be appropriate for large institutions that have environment controls and separation, but aside from that, what are some of the drawbacks to this strategy versus a formal automated deployment tool?