Application deployment is one of those things that becomes more and more complicated as the scale of our application increases. With just a single box running our database and our application, it’s very easy to handle.
But when we start putting our database on a different server, and then separating our web servers from our application servers, and eventually splitting our database into master and slave servers… It can get to where we almost don’t want to deploy our application any more.
Capistrano is an open source tool for running scripts on multiple servers and its main use is deploying web applications.
It is a standalone utility that can also integrate nicely with Rails. We simply provide Capistrano with a deployment “recipe” or “formula” that describes our various servers and their roles. It is a single-command deployment. It even allows us to roll a bad version out of production and it revert back to the previous release very easily.
The main functionality of the Capistrano is to Deploy the rails application which we have already developed and we are using the "SVN" or “GIT” to manage the code. It will transfer all the files of our rails application which we have developed in our local host to server directly by simply executing a simple command in our command prompt.