Comunidad de diseño web y desarrollo en internet

Vagrant, crea entornos de desarrollo virtualizados

A la hora de desarrollar, uno debe buscar la mayor comodidad y orden posible. A nivel de entorno de desarrollo muchos utilizan un sistema aislado, por ejemplo Virtualenv en el caso de Python para así evitar crear conflictos con el sistema u otros proyectos. El detalle está en que no todos los proyectos funcionan solo con el código del programa y algunas librerías, muchos proyectos funcionan con sistemas de bases de datos, servidores web, un sistema operativo específico y más... Así que una buena solución a todo eso es, usar entornos virtualizados con algún hipervisor como KVM, XEN. VirtualBox o VMWare, el punto negativo de usar directamente un hipervisor, es el tiempo que lleva la configuración y puesta en marcha de cada una de las máquinas virtuales para adaptarlas a lo que deseamos. Vagrant llega como una solución de código abierto y multiplataforma que permite tener distintos entornos en múltiples máquinas virtuales de una manera muy fácil usando Virtualbox (En la mayoría de los casos).



Vagrant


:

Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados. Originalmente se desarrolló para VirtualBox y sistemas de configuración tales como Chef, Salt y Puppet.


Para descargar Vagrant, se debe acceder a su sitio web: http://www.vagrantup.com/, y descargar el instalador para tu sistema operativo.

Al usar un hipervisor para trabajar, debemos tener una computadora que soporte virtualización por hardware si se desea trabajar con mayor velocidad (En la actualidad la mayoría de los procesadores tanto Intel como AMD, soportan tecnología para virtualización asistida por hardware).

¿Por qué usar Vagrant?


Si eres desarrollador podrás crear un entorno aislado, que puede ser reutilizado por todo el equipo de trabajo en cualquier sistema operativo, gracias a que Vagrant trabaja con "Vagrantfile", un archivo donde se encuentra la configuración del entorno para una máquina virtual.

Para administradores de sistema, puede servir como entorno de prueba para scripts shell y de automatización con Puppet, Salt o Fabric.


Boxes

Son "estructuras" usadas en Vagrant para construir las máquinas virtuales, la mayoría de los boxes están ya configurados para trabajar con Vagrant y con algunos software extras.

Uno puede construir un box, pero en http://www.vagrantbox.es/ hay una lista de decenas de boxes con diferentes sistemas operativos para descargar y utilizar.

Iniciando una máquina virtual


Antes de continuar debes tener instalado VirtualBox y Vagrant con al menos un box descargado.


Para iniciar una máquina virtual con Vagrant debemos crear/situarse en una carpeta donde tendremos un archivo Vagrantfile, en ese archivo se encuentra toda la configuración para un entorno virtual en específico (podemos ver los Vagrantfile como proyectos), ese archivo se crea luego de haber agregado un box a Vagrant, para agregar un box e iniciar Vagrant se utilizan los siguientes comandos:

Código :

$ vagrant box add <nombre_box> <url o ruta del archivo .box>
$ vagrant init <nombre_box>
$ vagrant up


Ejemplo

Código :

$ vagrant box add CentOS ~/vagrant/CentOS-6.4-x86_64-v20130309.box
$ vagrant init CentOS
$ vagrant up


Así de fácil y sencillo tendremos una máquina virtual en ejecución, aun así, si no se tiene acceso a dicha máquina, no nos sirve para nada. Gracias a la opción ssh de Vagrant, podremos acceder a través de SSH.

La máquina virtual y todos los recursos se crean al ejecutar "vagrant up", antes de eso no.


Código :

$ vagrant ssh


Al acceder por SSH, nos dará acceso a un usuario llamado "vagrant", este usuario tiene privilegios con SUDO, así que no necesitamos usar el usuario root del sistema.

Opciones de Vagrant




  • vagrant box: Permite agregar, listar, eliminar y re-empacar un box.

    Código :

    vagrant box <add | list | remove | repackage>



  • vagrant halt: Este comando apaga la máquna virtual.

  • vagrant package: Este comando permite empacar nuestro entorno actual en un archivo .box reutilizable.

  • vagrant reload: Apaga y enciende la máquian virtual. Se utiliza para recargar la configuración si se cambió el archivo Vagrantfile.

  • vagrant suspend: Suspende la máquina virtual que se esté utilizando.

  • vagrant resume: Reactiva la máquina virtual luego de haberse suspendido.


Eliminando una máquina virtual


Al terminar de trabajar podemos eliminar la máquina virtual y todos los recursos creados con el comando.

Código :

$ vagrant destroy -f


Si desean saber un poco más de Vagrant pueden visitar la documentación oficial: http://docs.vagrantup.com/v2/

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate