Revista Informática

Entornos de desarrollo con Vagrant, Puppet y Ansible

Publicado el 23 septiembre 2015 por Jocual

Hoy toca hablar de entornos de desarrollo, en esta ocasión vamos a hablar de como montarnos nuestro propio entorno de desarrollo usando vagrant confiando con Ansible o Puppet.

Atrás quedan los “xampp”, “lampp”, “wampp”, etc… parece que era ayer cuando instalábamos en nuestro PC el entorno XAMPP que nos instalaba un servidor apache con php configurado y mysql, vamos todo lo necesario para tener un entorno de programación para programadores PHP.

Esto tenía varios problemas:
El primero es obvio, diferencias entre configuraciones, imaginemos que estamos desarrollando en Windows pero nuestro servidor es un Linux (totalmente común), cuando desplegamos nuestro código que funciona perfectamente en la máquina local al servidor surgen errores.

Por otro lado, si queremos compartir nuestro entorno de desarrollo con otros programadores, ¿que hacemos? ¿se tienen que instalar XAMPP en su PC e instalar todo lo necesario… ¡Un lío!

¿Como podemos solucionar esto? Pues hoy día tenemos muchas soluciones como Puppet o Ansible combinados con Vagrant haremos un entorno de desarrollo muy potente que nos permitirá:

  • Tener misma configuración en todos nuestros entornos
  • Compartir nuestro entorno de desarrollo con todos los developers
  • Posibilidad de tener la configuración del entorno de desarrollo en un repositorio GIT

Y ahora la gran pregunta, ¿es muy difícil configurar puppet o ansible con vagrant? Si y no, si que requiere bastantes conocimientos sobre todo si lo queremos hacer con puppet, pero como todo, tenemos herramientas que nos hacen la vida más fácil, que son entre otras puphpet (https://puphpet.com) o phansible (http://phansible.com).

Ambos tienen un sencillo formulario paso a paso para poder crear tu entorno de desarrollo fácilmente, una vez hecho, solo tenemos que instalar virtual box, vagrant y con la sencilla instrucción “vagrant up” tendremos nuestro entorno listo y funcionando.

Además nos mapeará las carpetas que queramos con el servidor lo que hará el desarrollo más sencillo.

A continuación os dejo un par de ejemplos hechos por mi con ambas herramientas:

  • Puppet: https://bitbucket.org/jocual/vagrant-puppet
  • Ansible: https://bitbucket.org/jocual/vagrant-ansible

Volver a la Portada de Logo Paperblog