What is Mina?
Mina works really fast because it's a deploy Bash script generator. It generates an entire procedure as a Bash script and runs it remotely in the server. Compare this to the likes of Vlad or Capistrano, where each command is run separately on their own SSH sessions. Mina only creates one SSH session per deploy, minimizing the SSH connection overhead.
Mina is a tool in the Server Configuration and Automation category of a tech stack.
Mina is an open source tool with 4.3K GitHub stars and 507 GitHub forks. Here’s a link to Mina's open source repository on GitHub
Who uses Mina?
17 companies reportedly use Mina in their tech stacks, including doubleSlash, creative.gs, and Bizongo.
56 developers on StackShare have stated that they use Mina.
Pros of Mina
Easy, fast and light weight
- Safe deploys. New releases are built on a temp folder. If the deploy script fails at any point, the build is deleted and it’d be as if nothing happened.
- Locks. Deploy scripts rely on a lockfile ensuring only one deploy can happen at a time.
- Works with anything. While Mina is built with Rails projects it mind, it can be used on just about any type of project deployable via SSH, Ruby or not.
- Built with Rake. Setting up tasks will be very familiar! No YAML files here. Everything is written in Ruby, giving you the power to be as flexible in your configuration as needed.
Mina Alternatives & Comparisons
What are some alternatives to Mina?
See all alternatives
Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.
With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel.
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.
It is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.