Este diretório contém a configuração de CI/CD (Integração Contínua/Entrega Contínua) para o projeto P40.
Arquivo: .github/workflows/ci.yml
Este workflow é executado em cada push para as branches main e development, e em pull requests para estas branches:
- Testes: Executa testes unitários e de integração usando Jest.
- Linting: Verifica a qualidade do código com ESLint.
- Build: Garante que o projeto compila sem erros.
Arquivo: .github/workflows/deploy.yml
Este workflow é executado quando há um push para a branch main:
- Build do projeto
- Execução de migrações do banco de dados
- Deploy para o ambiente de produção (Vercel)
- Notificação após o deploy bem-sucedido
Arquivo: .github/workflows/deploy-staging.yml
Este workflow é executado quando há um push para a branch development:
- Build do projeto
- Execução de migrações do banco de dados de staging
- Deploy para o ambiente de staging (Vercel)
- Execução de testes de smoke
Arquivo: .github/workflows/code-quality.yml
Este workflow verifica a qualidade do código:
- Verificação de tipos TypeScript
- Análise com SonarCloud
- Verificação de dependências desatualizadas ou com vulnerabilidades
- Análise de complexidade do código
- Detecção de código duplicado
Para que os workflows funcionem corretamente, os seguintes segredos devem ser configurados no GitHub:
DATABASE_URL: URL de conexão com o banco de dados de produçãoSTAGING_DATABASE_URL: URL de conexão com o banco de dados de stagingVERCEL_TOKEN: Token de API do VercelVERCEL_ORG_ID: ID da organização no VercelVERCEL_PROJECT_ID: ID do projeto no VercelSONAR_TOKEN: Token de API do SonarCloud
- Desenvolvimento em branches de feature
- Pull request para a branch
development - Testes e verificação de qualidade automáticos
- Merge em
development-> deploy automático para staging - Pull request de
developmentparamainapós testes em staging - Merge em
main-> deploy automático para produção
Para executar os checks de CI localmente antes de fazer push:
# Executar testes
yarn test
# Verificar linting
yarn lint
# Verificar o build
yarn build