66
@pokemaobr Criando sua Stack de Deploy PHP com GIT, Jenkins e Ansible

Criando sua stack de deploy php com git, jenkins e ansible

Embed Size (px)

Citation preview

Page 1: Criando sua stack de deploy php com git, jenkins e ansible

@pokemaobr

Criando sua Stack de Deploy PHP com GIT,

Jenkins e Ansible

Page 2: Criando sua stack de deploy php com git, jenkins e ansible

Rodrigo 'Pokemaobr' Cardoso

Bacharel em Matemática Aplicada e Computacional pela UFRRJ

MBA em Engenharia de Softwares Orientado para Serviços pelo IBTA

Community Manager @ iMasters

Evangelista @ PHPSP

@pokemaobr - [email protected]

@pokemaobr

Page 3: Criando sua stack de deploy php com git, jenkins e ansible

20 100www.pokephp.com.br

Page 4: Criando sua stack de deploy php com git, jenkins e ansible

Os problemas...

Page 5: Criando sua stack de deploy php com git, jenkins e ansible

Deploy Demorado

Page 6: Criando sua stack de deploy php com git, jenkins e ansible

Dependência de Alguém de Infra

Page 7: Criando sua stack de deploy php com git, jenkins e ansible

Dificuldade de Rollback

Page 8: Criando sua stack de deploy php com git, jenkins e ansible

Pouca Visibilidade nos Logs

Page 9: Criando sua stack de deploy php com git, jenkins e ansible

Falta de Padrão nas Pastas dos Projetos

Page 10: Criando sua stack de deploy php com git, jenkins e ansible

Dificuldade de Realização de Testes

Page 11: Criando sua stack de deploy php com git, jenkins e ansible

Então como era?

Page 12: Criando sua stack de deploy php com git, jenkins e ansible

Shell Script

Page 13: Criando sua stack de deploy php com git, jenkins e ansible

SVN

Page 14: Criando sua stack de deploy php com git, jenkins e ansible

Baixava a TAG

Page 15: Criando sua stack de deploy php com git, jenkins e ansible

Atualizava a TAG

Page 16: Criando sua stack de deploy php com git, jenkins e ansible

rsync das pastas

Page 17: Criando sua stack de deploy php com git, jenkins e ansible

Espera de 30 a 60 minutos

Page 18: Criando sua stack de deploy php com git, jenkins e ansible

Tá bala!

Page 19: Criando sua stack de deploy php com git, jenkins e ansible

SQN

Page 20: Criando sua stack de deploy php com git, jenkins e ansible

Como melhorar?

Page 21: Criando sua stack de deploy php com git, jenkins e ansible

+ +

Page 22: Criando sua stack de deploy php com git, jenkins e ansible
Page 23: Criando sua stack de deploy php com git, jenkins e ansible

Fácil Integração com o versionador

Page 24: Criando sua stack de deploy php com git, jenkins e ansible

Já funcionava em homologação

Page 25: Criando sua stack de deploy php com git, jenkins e ansible

Outros analistas conseguiam

realizar os deploys

Page 26: Criando sua stack de deploy php com git, jenkins e ansible

Fácil de configurar um rollback por

TAG

Page 27: Criando sua stack de deploy php com git, jenkins e ansible

Histórico Visual dos Últimos deploys

realizados e status

Page 28: Criando sua stack de deploy php com git, jenkins e ansible

Já era o versionador utilizado pela equipe

Page 29: Criando sua stack de deploy php com git, jenkins e ansible

Tinha todo o histórico das TAGs

dos projetos

Page 30: Criando sua stack de deploy php com git, jenkins e ansible
Page 31: Criando sua stack de deploy php com git, jenkins e ansible

Fácil de escrever as tarefas a serem

executadas

Page 32: Criando sua stack de deploy php com git, jenkins e ansible

Fácil integração com um build do Jenkins

Page 33: Criando sua stack de deploy php com git, jenkins e ansible

Ótimo para se trabalhar com mais

de um servidor.

Page 34: Criando sua stack de deploy php com git, jenkins e ansible

Fácil de se replicar para um novo projeto.

Page 35: Criando sua stack de deploy php com git, jenkins e ansible

+

Page 36: Criando sua stack de deploy php com git, jenkins e ansible

Releases

Page 37: Criando sua stack de deploy php com git, jenkins e ansible

Staging

Page 38: Criando sua stack de deploy php com git, jenkins e ansible

Production

Page 39: Criando sua stack de deploy php com git, jenkins e ansible

Links Simbólicos

Page 40: Criando sua stack de deploy php com git, jenkins e ansible

Restart PHP-FPM

Page 41: Criando sua stack de deploy php com git, jenkins e ansible
Page 42: Criando sua stack de deploy php com git, jenkins e ansible
Page 43: Criando sua stack de deploy php com git, jenkins e ansible

plugins

Page 44: Criando sua stack de deploy php com git, jenkins e ansible
Page 45: Criando sua stack de deploy php com git, jenkins e ansible
Page 46: Criando sua stack de deploy php com git, jenkins e ansible
Page 47: Criando sua stack de deploy php com git, jenkins e ansible
Page 48: Criando sua stack de deploy php com git, jenkins e ansible
Page 49: Criando sua stack de deploy php com git, jenkins e ansible
Page 50: Criando sua stack de deploy php com git, jenkins e ansible
Page 51: Criando sua stack de deploy php com git, jenkins e ansible
Page 52: Criando sua stack de deploy php com git, jenkins e ansible

Staging

Page 53: Criando sua stack de deploy php com git, jenkins e ansible
Page 54: Criando sua stack de deploy php com git, jenkins e ansible

Copia a TAG para Pasta Source

Copia para Pasta TAG

Gera Link Simbólico StagingRestarta o PHP-FPM

Page 55: Criando sua stack de deploy php com git, jenkins e ansible
Page 56: Criando sua stack de deploy php com git, jenkins e ansible

staging_playbook.yml

Page 57: Criando sua stack de deploy php com git, jenkins e ansible

hosts

Page 58: Criando sua stack de deploy php com git, jenkins e ansible

hosts

Page 59: Criando sua stack de deploy php com git, jenkins e ansible
Page 60: Criando sua stack de deploy php com git, jenkins e ansible

Production

Page 61: Criando sua stack de deploy php com git, jenkins e ansible

Gera Link Simbólico Produção

Page 62: Criando sua stack de deploy php com git, jenkins e ansible
Page 63: Criando sua stack de deploy php com git, jenkins e ansible
Page 64: Criando sua stack de deploy php com git, jenkins e ansible

20 100

110

Avalie a Palestra

Page 65: Criando sua stack de deploy php com git, jenkins e ansible

20 100

110

Dúvidas

Page 66: Criando sua stack de deploy php com git, jenkins e ansible

Rodrigo 'Pokemaobr' Cardoso

Community Manager @ iMasters

@pokemaobr

@pokemaobr