Ambientes Portáteis com o Vagrant

Ambientes Portáteis com o Vagrant

Apresentado no meetup Vagrant SP

719435d98d452de7ac367c828266cf01?s=128

Erika Heidi

April 23, 2015
Tweet

Transcript

  1. None
  2. whoami

  3. POR QUE VAGRANT?

  4. None
  5. Por que Vagrant? • Ambiente de desenvolvimento portátil, descartável e

    reproduzível • Facilita colaboração de código • Testes e benchmark com ambientes diferentes • Aprender e testar ferramentas de configuração / automação
  6. None
  7. Terminologia • Host / Guest • Provider / Provisioner •

    Boxes • Vagrantfile • Synced Folder
  8. Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise64" config.vm.provision "shell", inline:

    "echo Hello World!" end
  9. Principais Comandos • up • reload • provision • suspend

    • resume • destroy [ --provision ] [ --provision ]
  10. DEMO 1 Vagrant up

  11. None
  12. None
  13. Ansible – visão geral • Usa uma linguagem simples –

    YAML • Bastante “developer-friendly” • Grande quantidade de módulos built- in • Arquitetura “agentless” - usa apenas SSH • Usado por grandes nomes como Twitter, Atlassian, até NASA
  14. Ansible como provisionador Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise64" config.vm.provision

    "ansible" do |ansible| ansible.playbook = "playbook.yml" end end
  15. Playbook – exemplo # playbook.yml --- - hosts: all sudo:

    true tasks: - name: Atualizar apt-cache apt: update_cache=yes - name: Instalar Nginx apt: pkg=nginx state=latest
  16. Variáveis --- - hosts: all sudo: yes vars: web_server: nginx

    tasks: - name: Install {{ web_server }} apt: pkg={{ web_server }} state=latest
  17. Arrays / Loops tasks: - name: Install Packages apt: pkg={{

    item }} state=latest with_items: - nginx - php5-fpm - git
  18. Arrays / Loops --- - hosts: all sudo: yes vars:

    sys_packages: [ 'nginx', 'php5-fpm', 'git' ] tasks: - name: Install Packages apt: pkg={{ item }} state=latest with_items: sys_packages
  19. DEMO 2 Basic Playbook

  20. None
  21. None
  22. None
  23. Vagrant Cookbook (pt-BR) http://do.co/vcb-br

  24. PERGUNTAS?

  25. Posts sobre Vagrant http://erikaheidi.com/vagrant Feedback Meetup https://joind.in/event /view/3719