7Masters - Devops - Do legado ao ci cd em 7 minutos

30
Do legado ao CI/CD em 7 minutos 7Masters DevOps

Transcript of 7Masters - Devops - Do legado ao ci cd em 7 minutos

Page 1: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Do legado ao CI/CD em 7 minutos

7Masters DevOps

Page 2: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Ter alguma coisa é melhor que ter nada

Page 3: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Software Legado• Se tiver controle de versão, todo mundo faz commit

no master

• Não possui testes

• Precisa pedir para alguém subir em produção

• Novos devs demoram dias para conseguirem rodar em suas máquinas

Page 4: 7Masters - Devops - Do legado ao ci cd em 7 minutos

CI

Page 5: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–Grady Booch (1991)

“continuous integration (CI) is the practice of merging all developer working copies to a

shared mainline several times a day”

Page 6: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–Bob

“continuous integration (CI) é a prática de: Devs fazem commit, servidor de integração

testa”

Page 7: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Como você testaria na sua máquina?

Page 8: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Transforme isso em scripts

Page 9: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–DEV muito ocupado

“Não tenho tempo para fazer testes.”

Page 10: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Testes de comportamento com

selenium

Page 11: 7Masters - Devops - Do legado ao ci cd em 7 minutos
Page 12: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Jenkinsapt-get install jenkins

Page 13: 7Masters - Devops - Do legado ao ci cd em 7 minutos
Page 14: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Para todo commit, a task de teste vai rodar

Page 15: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Você precisa de um clone da produção

Page 16: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Parabéns, você tem CISó não ache que isso significa que acabou ;-)

Page 17: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–DEV com preguiça

“Mas meu banco muda toda hora e não quero manter várias instâncias.”

Page 18: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Docker ao resgate

Page 19: 7Masters - Devops - Do legado ao ci cd em 7 minutos

• Docker Compose sobe um conjunto de containers

• Migrations criam o schema do banco de dados

• Seeders inserem uma pequena quantidade de dados selecionados no banco de dados

• Selenium executa os testes

• Tudo isso pode ser executado por um simples bash script

Page 20: 7Masters - Devops - Do legado ao ci cd em 7 minutos

PlusUm novo dev tem sua máquina configurada em minutos

Page 21: 7Masters - Devops - Do legado ao ci cd em 7 minutos

CD

Page 22: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–Wikipedia

“Continuos Delivery is: teams produce software in short cycles, ensuring that the software can

be reliably released at any time”

Page 23: 7Masters - Devops - Do legado ao ci cd em 7 minutos

–Bob

“Continuos Delivery é: Devs fazem commit, servidor de integração testa e faz deploy (sob

demanda).”

Page 24: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Separar código de produção do de desenvolvimento

Page 25: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Gitflow

Page 26: 7Masters - Devops - Do legado ao ci cd em 7 minutos

• develop = código em desenvolvimento

• feature/alguma-coisa = código em desenvolvimento isolado

• release/1.2.3 = código pronto para beta

• hotfix/1.2.3 = código de correção de bug de produção

• master = código para produção

Page 27: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Deploy fácil = git pull na branch master

Page 28: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Crie uma task que pode ser executada se a anterior deu certo

Page 29: 7Masters - Devops - Do legado ao ci cd em 7 minutos

Parabéns, você tem CDSó não ache que isso significa que acabou ;-)

Page 30: 7Masters - Devops - Do legado ao ci cd em 7 minutos

@GABRIELRCOUTO

GITHUB.COM/GABRIELRCOUTO

TRABALHE COMIGO!

[email protected]