Ansistrano is one among several Ansible Galaxy roles for simply managing deployment requirements of scripting applications like PHP, Python, and Ruby. It is in real Ansible added to Capistrano or in other words a modification of Capistrano. Ansible Galaxy is the website where users can take, manage and share roles. It also provides a command-line interface for working on roles for the user.
Why Ansistrano?
Ansistrano, an Ansible role globally distributed through Ansible Galaxy. Deployment processes in scripting could be easily managed using ‘ansistrano.deploy’ and ‘ansistrano.rollback’, which are examples of Ansible roles. A similar role called Capistrano was designed to deploy RoR applications from a remote server to perform automation tools. Ansible’s goals square measure foremost those of simplicity and most easily use. However, Capistrano lacks the simple way to manage large infrastructure for deployment targets and if the infrastructure is dynamically working.
To sort out, the developers of Ansistrano implemented Ansible which is capable of deploying large infrastructure with its inventory management options and high application deployments. Appending with this, to hold the existing features of Capistrano, the dev world created the tool we’re covering today, Ansistrano!
Ansistrano Uses
- Rollback in seconds (using the role of ansistrano.rollback).
- Setting up a deployment procedure using the event handler’s post and precritical steps.
- Optimizing disk space usage by storing a limited number of releases.
- Options to choose within SYNC, SCP, GIT, SVN, HTTP Download or S3 GET deployment strategies (in addition, unarchive use is possible).
Thus once your website is built, and ready to deploy, you got many ways to carry out this spanning from (S)FTP, SCP to rsync etc directly on the server. Also, Ansible can be used in provisioning and maintaining your server configuration and running commands by using suitable Ansible modules like Git, custom Ansible roles and so on to build a simple deployment playbook. This can be further extended by adding Ansistrano which provides additional options like saving multiple builds for projects separately and roll-back if needed, customize build steps, multi-stage environments etc.