7masters - devops - do legado ao ci cd em 7 minutos
TRANSCRIPT
![Page 1: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/1.jpg)
Do legado ao CI/CD em 7 minutos
7Masters DevOps
![Page 2: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/2.jpg)
Ter alguma coisa é melhor que ter nada
![Page 3: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/4.jpg)
CI
![Page 5: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/5.jpg)
–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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/6.jpg)
–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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/7.jpg)
Como você testaria na sua máquina?
![Page 8: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/8.jpg)
Transforme isso em scripts
![Page 9: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/9.jpg)
–DEV muito ocupado
“Não tenho tempo para fazer testes.”
![Page 10: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/10.jpg)
Testes de comportamento com
selenium
![Page 11: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/11.jpg)
![Page 12: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/12.jpg)
Jenkinsapt-get install jenkins
![Page 13: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/13.jpg)
![Page 14: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/14.jpg)
Para todo commit, a task de teste vai rodar
![Page 15: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/15.jpg)
Você precisa de um clone da produção
![Page 16: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/17.jpg)
–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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/18.jpg)
Docker ao resgate
![Page 19: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/19.jpg)
• 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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/20.jpg)
PlusUm novo dev tem sua máquina configurada em minutos
![Page 21: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/21.jpg)
CD
![Page 22: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/22.jpg)
–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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/23.jpg)
–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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/24.jpg)
Separar código de produção do de desenvolvimento
![Page 25: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/25.jpg)
Gitflow
![Page 26: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/26.jpg)
• 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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/27.jpg)
Deploy fácil = git pull na branch master
![Page 28: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/28.jpg)
Crie uma task que pode ser executada se a anterior deu certo
![Page 29: 7Masters - Devops - Do legado ao ci cd em 7 minutos](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030311/58efe30d1a28abf3558b4623/html5/thumbnails/30.jpg)
@GABRIELRCOUTO
GITHUB.COM/GABRIELRCOUTO
TRABALHE COMIGO!