What are some best practices and general multi-stage deployment theory for web applications?
I am particularly interested in deploying Rails applications using Git, Capistrano, and Passenger, and I have found posts that discuss process nuts and bolts:
What considerations should be taken regarding each stage (testing, production, production)? Should stages be deployed on different physical servers? Any tips or tricks for multi-stage deployment? Any snags I should pay attention to?
better
Jacob
:
# deploy.rb task :stage do server 10.0.0.1 ... end > cap stage deploy
, , , , .
, , cap , , .
, , , .
, , . .
deploy.rb, , , capi .
, , - , , capistrano. ssh cap . , deploy.rb , . git vs svn, , , deploy.rb cap.
Heroku , EY .
: . . , . . .
, gem . , , - .
, , - . .
. , , ? , .
We have been very successful at using capistrano multi-stage deployments for over a year now. The system perfectly shares the deployment files for each stage in almost the same way as the Rails environment files. It was very easy to configure and manage.