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

Ambientes Portáteis com o Vagrant

Ambientes Portáteis com o Vagrant

Apresentado no meetup Vagrant SP

Erika Heidi

April 23, 2015
Tweet

More Decks by Erika Heidi

Other Decks in Programming

Transcript

  1. 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
  2. Terminologia • Host / Guest • Provider / Provisioner •

    Boxes • Vagrantfile • Synced Folder
  3. Principais Comandos • up • reload • provision • suspend

    • resume • destroy [ --provision ] [ --provision ]
  4. 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
  5. 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
  6. Variáveis --- - hosts: all sudo: yes vars: web_server: nginx

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

    item }} state=latest with_items: - nginx - php5-fpm - git
  8. 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