-
Notifications
You must be signed in to change notification settings - Fork 2
[DevOps] CI
Este documento explica a estratégia de pipelines de integração contínua (CI) configurada para o projeto tanto back-end quanto para o front-end. O CI é dividido por arquivos YAML específicos para cada etapa, permitindo controle e otimização de testes e builds de acordo com o propósito de cada etapa.
Executa nas branches feat/* (funcionalidades em desenvolvimento):
- Compilação do projeto
- Testes unitários
Objetivo: Validar o código de novas funcionalidades antes da integração na branch dev.
Executa quando há um merge da branch feat/* para dev:
- Compilação do projeto
- Testes unitários
Objetivo: Garantir que a funcionalidade desenvolvida na feat/* seja validada e integrada corretamente com a branch dev.
Executa quando há um merge da branch dev para teste:
- Compilação do projeto
- Testes unitários
- Teste de integração subindo banco para testes
Objetivo: Garantir que a branch de integração (dev) esteja pronta para ser validada em ambiente de testes.
Executa quando há um merge da branch teste para main:
- Compilação final do projeto
Objetivo: Validar que o código esteja pronto para produção após passar pelos testes finais. Este pipeline realiza o deploy do código na produção.
A divisão do CI em arquivos específicos para cada branch permite que as etapas do pipeline sejam adaptadas ao estágio do desenvolvimento. Isso aumenta a eficiência e facilita a manutenção dos processos de CI, garantindo que apenas as verificações necessárias sejam realizadas em cada fase.
-
feat/*: Apenas testes unitários para validar novas funcionalidades. -
dev: Testes unitários para garantir o funcionamento. -
teste: Testes finais para garantir que o código está pronto para produção. -
main: Pipeline de deploy final.
Essa estrutura modular do CI torna o processo de integração contínua mais organizado, eficiente e específico para cada fase do desenvolvimento.