Vagrant es una herramienta que nos permitirá de una manera sencilla, simular un entorno de desarrollo customizable, fácilmente editable y compartible.
Esta pensando para trabajar en entornos locales de desarrollo, y es compatible con shell scripts (Chef, Puppet o Ansible).
Es importante destacar que Vagrant no corre ninguna maquina virtual, tan solo gestiona los parámetros con los que debe ser creados. La parte encargada de correr estas maquinas virtuales es VirtualBox.
¿Para que sirve?
Supongamos el siguiente caso, tenemos un ordenador Mac de Apple, y estamos preparando un entorno de desarrollo que contenga una base de datos en PostgreSQL, y que a su vez, necesitaré usar drivers especificos de firefox y chrome para poder realizar web scrapping.
Una vez lo tenemos todo preparado para nuestro entorno de desarrollo, y todo está listo, lo subimos a producción, y….. ¡SORPRESA!
El entorno de producción usa Ubuntu 18, la cual usa una versión de PostgreSQL diferente, y a su vez los drivers usados para nuestros programa no son compatibles, y no disponen de la funcionalidad necesaria.
Vagrant nos permitirá tener el entorno de producción en un entorno local, y en tan solo un archivo de configuración, el cual podemos compartir en nuestro control de versiones para que todos los compañeros puedan trabajar igual que nosotros.
Lo primero de todo vamos a inicializar el archivo de virtualización, para ello vamos a situarnos sobre la ruta que deseamos crearlo, vamos a ejecutar el siguiente comando
vagrant init
Esto creara un nuevo archivo Vagrantfile el cual contendrá toda la información de nuestra maquina virtual
Este archivo creado por defecto, contendrá lo necesario para una inicialización básica
Arrancar una virtualización
Ahora que disponemos de nuestro archivo de configuración ya podemos correr nuestra virtualización, para ello vamos a ejecutar en la misma ruta donde ha sido creado nuestro archivo VagrantFile
vagrant up
La primera vez que ejecutemos este comando (con un box que no haya sido anteriormente ejecutado) lo descargara, esto puede tardar un poco.
Seguidamente realizará toda la configuración necesaria de forma automática y ya tendremos corriendo nuestra virtualización.
Esto es posible comprobarlo accediendo a VirtualBox, y podremos observar como una nueva maquina virtual ha sido creada.
Acceso a la virtualización
Ahora que tenemos disponible nuestra virtualización, ya podemos empezar a jugar con ella.
Para poder acceder a la maquina, en la misma ruta donde se encuentra nuestro archivo VagrantFile podemos ejecutar
vagrant ssh
Esto nos permitirá acceder la maquina, y poder trabajar con ella como si de un equipo autónomo se tratara
Apagar virtualización
Si deseamos apagar nuestra virtualización para evitar el consumo de recursos cuando no sea necesario, podemos realizarlo ejecutando el siguiente comando
vagrant halt
Esto apagará nuestra virtualización
Encender virtualización
Si queremos volver a trabajar con la virtualización una vez ha sido apagada, podemos hacerlo con el mismo comando que usamos inicialmente para arrancar la máquina