Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagrant. Primeros Pasos

Vagrant. Primeros Pasos

Primeros pasos con Vagrant.
Vagrant es una herramienta de software libre multiplataforma cuyo principal objetivos es la creación y
configuración de entornos de desarrollo virtualizados de manera muy ligera, portable y reproducible.

CETA-Ciemat

June 12, 2014
Tweet

More Decks by CETA-Ciemat

Other Decks in Technology

Transcript

  1. VAGRANT
    PRIMEROS PASOS
    MARÍA BOTÓN FERNÁNDEZ
    CETA-CIEMAT

    View full-size slide

  2. QUÉ ES VAGRANT
    BENEFICIOS
    TERMINOLOGÍA
    INSTALACIÓN
    CONFIGURANDO MI BOX
    CONFIGURANDO MI VAGRANTFILE
    ARRANQUE Y GESTIÓN DE MI INSTANCIA
    REFERENCIAS
    ÍNDICE

    View full-size slide

  3. • Herramienta para la creación y
    configuración de entornos de
    desarrollo virtualizados
    QUÉ ES VAGRANT
    • Entornos virtuales
    • Multiplataforma
    Ligeros
    Reprodu-
    cibles
    Portables
    • Software Libre

    View full-size slide

  4. BENEFICIOS
    NO PORTABLE: “EN MI ORDENADOR FUNCIONA”
    PROBLEMAS AL PROBAR EN OTRAS PLATAFORMAS
    NO REPRODUCIBLE
    LA VIDA SIN VAGRANT
    DESGASTE DE TIEMPO EN PREPARAR MÁQUINA

    View full-size slide

  5. BENEFICIOS
    UTILIZANDO VAGRANT
    DESARROLLO
    DE UN
    PROYECTO
    PERMITE QUE TODOS
    TRABAJEN BAJO UNA
    COPIA EXACTA DEL
    AMBIENTE
    ADMINISTRACIÓN
    ENTORNOS DESECHABLES Y
    CONSISTENTES PARA
    DESARROLLO Y PRUEBAS DE
    SCRIPTS DE ADMINISTRACIÓN
    DISEÑADOR
    ENTORNO LISTO
    AUTOMÁTICAMENTE
    PARA UNA
    DETERMINADA
    APLICACIÓN WEB
    PERMITE DEDICARTE A TUS TAREAS

    View full-size slide

  6. TERMINOLOGÍA
    BOX
    FORMATO DE PAQUETES PARA LOS ENTORNOS EN VAGRANT
    HOST & GUEST
    LA MÁQUINA HOST INICIA VAGRANT
    LA MÁQUINA GUEST ES INICIADA POR EL HOST
    PROVIDER
    SE ENCARGA DE GESTIONAR EL PROCESO DE VIRTUALIZACIÓN
    VAGRANT TRABAJA CON:

    View full-size slide

  7. TERMINOLOGÍA
    PROVISIONER
    AUTOMATIZA LA CONFIGURACIÓN DE LA MÁQUINA Y LA INSTALACIÓN DE PAQUETES
    VAGRANT TRABAJA CON:
    VAGRANTFILE
    CONTIENE LA DEFINICIÓN DE NUESTRA MÁQUINA (O MÁQUINAS)
    ESCRITO EN RUBY

    View full-size slide

  8. REQUISITOS
    SOFTWARE DE VIRTUALIZACIÓN
    INSTALACIÓN
    DESCARGAR INSTALADOR
    INSTALACIÓN CONVENCIONAL
    INSTALACIÓN

    View full-size slide

  9. CONFIGURANDO MI BOX
    OBTENER LA BOX
    $ vagrant box add mi_caja_ubuntu_precise_32
    http://files.vagrantup.com/precise32.box
    LISTAR LA LISTA DE BOX QUE TENEMOS
    $ vagrant box list
    VAGRANT CLOUD
    VAGRANT BOX
    REPOSITORIOS DE BOX

    View full-size slide

  10. CONFIGURANDO MI BOX
    BORRAR LA BOX
    $ vagrant box remove mi_caja_ubuntu_precise_32
    ACTUALIZAR LA BOX
    $ vagrant box update

    View full-size slide

  11. CONFIGURANDO MI VAGRANTFILE
    config.vm.box = "mi_caja_ubuntu_precise_32”
    DEFINIENDO LA BOX
    CREAR FICHERO VAGRANTFILE
    $ vagrant init

    View full-size slide

  12. CONFIGURANDO MI VAGRANTFILE
    CONFIGURANDO LA RED
    config.vm.network “private_network”, ip: "192.168.33.101"
    config.vm.network “public_network”
    config.vm.network "forwarded_port", guest: 8000, host: 8000
    NAT
    BRIDGE

    View full-size slide

  13. CONFIGURANDO MI VAGRANTFILE
    config.vm.provision :file do |file|
    file.source = "Install.sh"
    file.destination = "/home/vagrant/Install.sh"
    end
    DEFINIENDO PROVISIONER
    config.vm.provision "shell", inline: "echo hello"
    config.vm.provision "shell", path: “scriptInstallation.sh"
    SHELL PROVISIONER

    View full-size slide

  14. CONFIGURANDO MI VAGRANTFILE
    DEFINIENDO PROVISIONER
    CHEF PROVISIONER
    config.vm.provision "chef_solo" do |chef|
    chef.add_recipe "apache"
    end
    RUN LIST
    CONFIGURACIÓN APACHE

    View full-size slide

  15. CONFIGURANDO MI VAGRANTFILE
    config.vm.provision "ansible" do |ansible|
    ansible.playbook = “provisioning/playbook.yml"
    end
    DEFINIENDO PROVISIONER
    ANSIBLE PROVISIONER
    $ tree
    .
    |-- Vagrantfile
    |-- provisioning |
    |-- group_vars |
    |-- all |
    |-- playbook.yml

    View full-size slide

  16. CONFIGURANDO MI VAGRANTFILE
    config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "site.pp"
    end
    DEFINIENDO PROVISIONER
    PUPPET PROVISIONER

    View full-size slide

  17. ARRANQUE Y GESTIÓN DE MI
    INSTANCIA
    $ vagrant up
    ACCEDER A LA INSTANCIA
    LEVANTAR INSTANCIA
    $ vagrant ssh
    SUSPENDER EL AMBIENTE
    $ vagrant suspend

    View full-size slide

  18. ARRANQUE Y GESTIÓN DE MI
    INSTANCIA
    $ vagrant resume
    APAGADO DE LA INSTANCIA
    LEVANTAR INSTANCIA TRAS SUSPENDERLA
    $ vagrant halt
    DESTRUIR EL AMBIENTE
    $ vagrant destroy

    View full-size slide

  19. CREAMOS UN ENTORNO VIRTUAL PARA TAREAS DE
    DESARROLLO O DESPLIEGUE
    POSIBILIDAD DE PRE-CONFIGURACIÓN DEL
    ENTORNO
    PORTABLE
    LIGEROS
    REPRODUCIBLES
    CONCLUSIÓN

    View full-size slide

  20. PÁGINA WEB
    VAGRANT
    •http://www.vagrantup.com/
    VAGRANT
    CLOUD
    •https://vagrantcloud.com/
    VAGRANT
    COOKBOOK
    •https://leanpub.com/vagrantcookbook
    REFERENCIAS

    View full-size slide

  21. AGRADECIMIENTOS

    View full-size slide

  22. ¡GRACIAS!
    ¿DUDAS?

    View full-size slide