Mina is a competitive fast deployer and server automation tool.
It basically is a deploy Bash script generator. It generates an entire procedure as a Bash script and runs it remotely onto the server.
Example Script for Mina (with whenever roles, as in Capistrano) can be found here.
Capistrano vs Mina
Capistrano runs each command separately on their own SSH session. Whereas, Mina only creates one SSH session per deploy minimising the SSH connection overhead resulting in decreased deploy time.
Visit here for side by side comparison.
Setting up Mina is really easy (Rails)
In Gemfile, gem ‘mina’
$ mina init
$ mina setup
$ mina deploy
This will do the job.
- Much easier to understand and setup
- Much Faster deploys
- Supports many 3rd party modules
Awesome for small/medium sized application deploys.
Cons (as of now)
- No support for rolling deploys.
- No support for multiple server roles as of now. (Gist here using whenever)
Mina is involving and can be seen competing with Capistrano in near future.