Wednesday, June 13, 2007

Capistrano

I was searching for a utility for deploying web applications. I found Capistrano , which is a utility for deploying web applications. I decided to try my hands with it, and my experience says It is ideal for system administration.

Advantages of Capistrano configuration -:
1.It can execute commands in parallel on multiple servers.
2.It allows to define tasks which can include commands that executed on the servers.It allows to define task specific roles for server.
3.It includes some basic templating allowing to dynamically create and deploy things like maintenance screens, configuration files, shell scripts, and more.
4. It uses repository which allows easy upgration of sorce code.

For Rails users its cool cool shot....
It can perform migrations during deployment.It can restart mongrels/fcgi.
It allows to use transactional commands.When any of the command fails changes are rolled back automatically.

To configure it following specifications are required-:
It requires SSH to connect to the servers.
The remote server is capable of understanding POSIX shell commands.
It requires subversion to manage your source code.
It require FastCGI to power your application.


After spending so many hrs I like following features -:
1.It facilitates to keep production database password secure by allowing to create host specific database yml.
2.The"sudo" helpers got a lot more powerful; allows to pass a specific set of hosts to them or even call them outside of any task by implementing capistrano scripts, basically making an entire file a single task.
3.It allows to create own deployment strategies from multiple server configuration by allowing selection of servers with their environment variables

No comments: