1. Pedro A. Castillo Valdivieso
Depto. de Arquitectura y Tecnología de Computadores
Universidad de Granada
pacv@ugr.es
2. Gestión de configuraciones
2
• Fuente de información principal:
http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
3. Vagrant
3
• Vagrant permite gestionar el ciclo de vida completo de
una máquina virtual:
• Creación.
• Provisionamiento.
• Monitorización.
• Conexión.
• Destrucción.
• Permite trabajar con todo tipo de hipervisores y
provisionadores, aunque en general Vagrant usa
VirtualBox.
9. Vagrant
9
• Podemos lanzar la máquina virtual con la siguiente
orden (se tendrán en cuenta las configuraciones
indicadas en el archivo Vagrantfile, si las hay):
vagrant up
11. Vagrant
11
• Vemos que hemos entrado en la máquina.
• Podríamos realizar cualquier acción.
12. Vagrant
12
• Una vez creada la máquina virtual se puede entrar en
ella y configurarla e instalar todo lo necesario.
• Vagrant permite provisionarla a través del Vagrantfile
(al hacer vagrant up o vagrant provision) y se llevan a
cabo las acciones especificadas en ese fichero de
configuración.
• Usar el provisionador shell equivale a entrar en la
máquina y dar las órdenes a mano en un shell.
13. Vagrant
13
• Como ejemplo de configuración para instalar el joe,
teclearemos la siguiente en un archivo llamado
Vagrantfile:
14. Vagrant
14
• Volvemos a lanzar la máquina virtual con la siguiente
orden para aplicar las configuraciones indicadas en el
archivo Vagrantfile:
vagrant provision
16. Vagrant
16
• Una vez que terminemos, podemos apagar la máquina
en ejecución con el comando “halt”.
• Podremos lanzarla de nuevo con el comando “up” y la
tendremos tal y como la dejamos la última vez (con los
programas instalados, configurados, y archivos
copiados).
• Si queremos eliminar la máquina, usaremos el
comando “destroy”.
• Eso elimina la máquina y configuraciones aplicadas.
• Si la lanzamos con “up” de nuevo, tendremos una
máquina nueva, como recién instalada.
18. Vagrant. Ejercicios
18
• Instala Vagrant en tu sistema.
• Baja el “box” del ejemplo (precise64.box).
• Lanza la máquina virtual y comprueba que puedes
acceder a ella por ssh.
• Crea un Vagrantfile para instalar el nginx al arrancar la
máquina.
• Comprueba que nginx queda instalado y funcionando.
19. Recursos adicionales (I)
19
http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
Vagrant: What, Why, and How
http://code.tutsplus.com/tutorials/vagrant-what-why-and-how--net-26500
Starting with Vagrant on Ubuntu 14.10 - A Beginner's Guide
https://www.howtoforge.com/tutorial/ubuntu-vagrant-install-and-getting-started/
Vagrant Tutorial - Running a VM For Your Local Development Environment
https://www.youtube.com/watch?v=PmOMc4zfCSw
A beginners guide to vagrant - Getting your portable development
environment, part 1
http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-
portable-development-e
Using Vagrant and Ansible
http://docs.ansible.com/ansible/guide_vagrant.html
20. Recursos adicionales (II)
20
Tutorial to create your first Vagrant project:
https://gist.github.com/dergachev/3866825
Download vagrant boxes: http://www.vagrantbox.es/
Shell provisioner
https://docs.vagrantup.com/v2/provisioning/shell.html
Vagrantfile Explained: Setting Up and Provisioning with Shell
http://www.sitepoint.com/vagrantfile-explained-setting-provisioning-shell/
Building Containerized Apps With Vagrant
http://fizzylogic.nl/2015/01/27/building-containerized-apps-with-vagrant/