Slide 1

Slide 1 text

Automação com Fabric Use o Fabric para automatizar tarefas e ganhe tempo 1

Slide 2

Slide 2 text

Por que automatizar? 2 1 máquina 2 máquinas 5 máquinas ?? máquinas ... Como fazer deploy para N máquinas de forma eficiente?

Slide 3

Slide 3 text

Como automatizar • Fabric (python) • Shell script • Capistrano (ruby) • subprocess.call(“ssh user@host ls -l”) • ou o equivalente em outra linguagem 3

Slide 4

Slide 4 text

O que é o Fabric? “Fabric é uma biblioteca Python e uma ferramenta de linha de comando para a racionalização do uso do SSH para deploy de aplicações ou tarefas de administração de sistemas.” 4

Slide 5

Slide 5 text

Vantagens do Fabric • API simples e direta • Execução paralela (opcional) • Documentação oficial atualizada • Vários tutoriais e apresentações disponíveis • Em constante desenvolvimento 5

Slide 6

Slide 6 text

Fabric API • Operações: • run(), sudo(), local() • Arquivos: • put(), get(), sed(), exists(), contains() • Projetos: • upload_project(), rsync_project() 6

Slide 7

Slide 7 text

O fabfile • Arquivo python comum contendo: • Tasks (funções) a serem executadas • Configurações de acesso • Qualquer outro código necessário 7

Slide 8

Slide 8 text

O fabfile • Listar arquivos do diretório “home” 8

Slide 9

Slide 9 text

Passando parâmetros 9 • Adicionar linha ao /etc/hosts

Slide 10

Slide 10 text

Hosts pré-definidos 10

Slide 11

Slide 11 text

Hosts pré-definidos 11

Slide 12

Slide 12 text

Deploy 12

Slide 13

Slide 13 text

Deploy 13

Slide 14

Slide 14 text

Projetos usando o Fabric 14

Slide 15

Slide 15 text

boto 15 Lib para as APIs do AWS

Slide 16

Slide 16 text

provy 16 Provisionamento de servidores

Slide 17

Slide 17 text

cuisine 17 Complementa a API do fabric

Slide 18

Slide 18 text

fabix 18 Complemento para fabric + cuisine

Slide 19

Slide 19 text

Perguntas? 19

Slide 20

Slide 20 text

Referências • Fabric - http://fabfile.org • cuisine - https://github.com/sebastien/cuisine • boto - http://boto.cloudhackers.com • provy - http://provy.me • fabix - https://github.com/quatix/fabix 20

Slide 21

Slide 21 text

Obrigado! • https://github.com/rcmachado • http://twitter.com/rcmachado 21