23
Ambiente de desenvolvimento como o de produção em poucos passos

Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em poucos passos

Embed Size (px)

DESCRIPTION

Uma

Citation preview

Page 2: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

@tiagobutzke

● Engenheiro de Software

● Fundador e CEO na Stoodos.com

● Amante de rock clássico

● Colecionador de LP’s

● Bebedor de café e cerveja

Page 3: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

● “Ambientes de desenvolvimento fácil”

● A grosso modo, uma forma fácil de controlar uma VM via linha de comando

Page 4: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para iniciar o vagrant (1)

Baixar e instalar a Virtual Boxwww.virtualbox.org/wiki/Downloads

Page 5: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Baixar e instalar o vagrantvagrantup.com/downloads.html

Passos para iniciar o vagrant (2)

Page 6: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Adicionar uma nova boxwww.vagrantbox.es

eg.: $ vagrant box add lucid32 http://files.vagrantup.com/lucid32.box

Passos para iniciar o vagrant (3)

Page 7: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

$ vagrant init

Passos para iniciar o vagrant (4)

Page 8: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Configurar VagrantFile

eg.: config.vm.box = “lucid32” # a box instalamos no passo 3, lembra?

Passos para iniciar o vagrant (5)

Page 9: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

$ vagrant up

Passos para iniciar o vagrant (6)

Page 11: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Principais comandos● $ vagrant up: inicia a VM● $ vagrant suspend: salva o estado da

máquina e desliga a VM● $ vagrant ssh: Acessa a VM via SSH● $ vagrant provision: Roda novamente as

configurações de provision e inicia a VM● $ vagrant reload: Reseta a VM● $ vagrant destroy: Remove a VM

Page 12: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

● “Automação de TI para velocidade e grandiosidade”

● A grosso modo, uma forma de automatizar a instalação e configuração do ambiente de desenvolvimento utilizando ruby

Page 13: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

CookbookUm conjunto de regras que fala para o Chef

como ele vai instalar algo

Page 14: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Cookbooks

● Você pode desenvolver seus próprios cookbooks

● No Github você pode encontrar vários cookbooks prontos para serem usados

Page 15: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (1)

Diretórios

eg.: $ mkdir -p {cookbooks, data_bags, roles}

Page 16: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (2)

Configurar VagrantFile

config.vm.provision :chef_solo do |chef| chef.cookbooks_path = “cookbooks” chef.data_bags_pash = “data_bags” chef.roles_path = “roles” chef.add_role = “default”end

Page 17: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (3)

Init git

$ git init .

Page 18: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (4)

Adicionar um cookbook

eg.: $ git submodule add https://github.com/opscode-cookbooks/apt.git cookbooks/apt

Page 19: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (5)

Criar default rules (arquivo roles/defaylt.rb)

name “deafult”run_list( “recipe[apt]”)

Page 20: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Passos para adicionar cookbooks prontos (6)

Provision

Se a VM existe: $ vagrant provisionSe não: $ vagrant up

Page 22: Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em poucos passos

Seja feliz!