Pipeline CI/CD no Azure DevOps
Test, artifact, coverage gates
Nota de preparação para a N-iX — pipeline de entrega.
Resumo: estruturo o pipeline em estágios: Build → Test → Quality Gates → Pack → Deploy. Cada estágio precisa passar antes do próximo rodar.
1. Source & Build
- Pull da
main/ feature branch. - Instalar dependências (
npm ci). - Buildar a aplicação (Next.js / React) — saída em
dist/oubuild/.
2. Estágio de testes
- Testes unitários:
jest --coverage→ relatório de cobertura (JUnit/HTML). - Testes de integração:
playwright test/cypress run. - Lint & formatação:
eslint,prettier— falham o pipeline em violações.
Ver detalhes em testando componentes React.
3. Quality Gates (política do Azure DevOps)
- Gate de cobertura: mínimo de 80% (configurável). Abaixo disso, o pipeline falha.
- Scan de vulnerabilidades:
npm audit/snyk— bloqueia em vulns críticas/altas. - SonarQube: análise estática mais profunda. Gates: “No new bugs”, “dívida técnica < 5%”.
4. Publicação de artefato
Se todos os gates passam, o artefato de build (ex.: .zip de dist/) é publicado
no Azure Artifacts ou num Container Registry.
5. Estágio de deploy (ambientes)
- Dev: deploy automático após merge na
develop. - Staging: gatilho de aprovação manual (ou canary).
- Produção: aprovação manual + janela agendada.
6. Monitoramento
Integrar Application Insights e New Relic para acompanhar a performance após o deploy. Rollback automático dispara se a taxa de erros sobe.
Experiência real (Seguralta)
Usamos BitBucket Pipelines (similar ao Azure DevOps). O gate de cobertura pegou uma queda de 5% e impediu um release. O time corrigiu os testes e elevou a cobertura para 85% antes de subir.
Relacionadas: versionamento da lib · índice.