🚀 Capítulo 13: Integração Contínua (CI) (Tema: Fábrica de Chocolate)
NOTE
Este capítulo utiliza a temática de Fábrica de Chocolate para explicar a Integração Contínua. Use a esteira automatizada para testar cada doce que sai da linha de produção e garanta que nenhum chocolate estragado chegue ao cliente!
1. 🎯 Objetivo da Aula
Compreender o conceito de CI (Continuous Integration - Integração Contínua), entendendo como a automação de compilação e testes ajuda equipes grandes a trabalharem juntas sem quebrar o sistema.
2. 🏢 O Cenário Prático (Seu Desafio)
Na Fantástica Fábrica de Chocolate de Willy Wonka, a produção não para. Milhares de doces são feitos a cada minuto. Para garantir que nenhum chocolate saia com gosto ruim ou tamanho errado, Wonka não usa provadores humanos (eles ficariam cheios e cansados!).
- Ele usa uma esteira automatizada cheia de sensores.
- Sempre que um doce é feito, ele passa pela esteira.
- Os sensores medem o açúcar, o peso e a cor. Se o doce passar no teste, ele vai para a caixa. Se falhar, um braço mecânico joga ele no lixo na hora!
Na Engenharia de Software, quando vários programadores estão trabalhando no mesmo projeto, juntar o código de todo mundo pode ser um caos. Um programador pode quebrar o código do outro sem querer! A Integração Contínua (CI) é a esteira do Willy Wonka! Sempre que você envia o seu código para o servidor (Git), um computador automático “pega” o seu código e roda todos os testes. Seu desafio é não deixar a esteira parar!
🧠 Fundamentos: A Teoria Traduzida
🔄 O Problema da Integração:
Antigamente, os programadores trabalhavam isolados por meses e só tentavam juntar os códigos no final do projeto. Isso gerava o “Inferno da Integração”, onde nada funcionava e passavam-se semanas resolvendo conflitos.
🤖 A Solução: Integração Contínua (CI):
A regra da CI é: integre o seu código várias vezes ao dia!
- Você faz uma pequena alteração no código e envia para o servidor (GitHub, GitLab, etc.).
- O Servidor de CI (Ex: GitHub Actions) percebe a mudança e entra em ação sozinho.
- Ele baixa o código, tenta compilar (Build) e roda todos os testes automáticos que a equipe criou.
- Se passar: Ele avisa que o código está seguro e pode ser misturado com o projeto principal.
- Se falhar: Ele avisa a equipe imediatamente: “O João quebrou o teste da tela de login!“. O João deve parar o que está fazendo e consertar o erro na hora!
4. 📖 Exemplo Guiado: O Arquivo de Configuração
Para a esteira funcionar, nós criamos um arquivo de texto (geralmente no formato YAML) que diz ao servidor o que fazer. O roteiro é sempre o mesmo:
- “Computador da CI, instale o compilador de C++.”
- “Agora, compile o arquivo
main.cpp.” - “Por fim, execute o arquivo
testes.exe.” Se em qualquer um desses passos der erro, a esteira para e avisa o time!
5. 🛠️ Prática Obrigatória 1: O Chocolate Estragado
Imagine que você alterou o código do sistema de pagamento e enviou para o GitHub. A esteira de CI rodou e acusou que o teste de cálculo de frete falhou (ficou vermelho).
- Você deve continuar trabalhando na sua próxima tarefa ou deve parar e consertar o teste de frete imediatamente? Por quê?
6. 🛠️ Prática Obrigatória 2: Ferramentas da Fábrica
Para implementar a Integração Contínua, as empresas usam softwares especializados que servem como a “esteira”.
- Cite o nome de pelo menos duas ferramentas famosas de CI usadas no mercado de trabalho atual.
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 13 EngSoftware) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
extra_engenharia_de_software/
├── .github/
│ └── workflows/
│ └── esteira_ci.yml
└── capitulos/
└── capitulo_13_ci.md💡 Checkpoint de Lógica
A Integração Contínua exige disciplina. Não adianta ter uma esteira de CI perfeita se a equipe ignorar os avisos de erro e continuar enviando código estragado para o sistema!
10. 🔥 Desafio de Fixação
Pesquise o que significa o termo Build no contexto de desenvolvimento de software.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
- Você deve parar tudo e consertar o erro imediatamente. A regra de ouro da CI é: “Nunca deixe a esteira quebrada”. Se você continuar trabalhando, outros programadores vão baixar o seu código estragado e o caos vai se espalhar pela equipe! Gabarito da Prática 2:
- GitHub Actions, Jenkins, GitLab CI, CircleCI ou Travis CI.