Monitoramento com SonarQube
O SonarQube é o pilar de nossa estratégia de Shift-Left Security e Clean Code. Ele atua como um inspetor automatizado que analisa cada linha de código em busca de falhas antes que elas cheguem em produção.
Referência no Código Os arquivos de configuração desta implementação estão em:
-
@devops/(Servidor, DB e Floci) -
sonar-project.properties(Configuração do Scanner)
Arquitetura de Integração
O fluxo de análise segue um modelo descentralizado onde o desenvolvedor valida o código localmente antes da integração contínua.
Fluxo de Configuração
Siga os passos abaixo para preparar seu ambiente e executar sua primeira análise.
Subindo a Infraestrutura
Toda a infraestrutura necessária está encapsulada em containers Docker, garantindo paridade entre ambientes.
cd @devops
docker-compose up -d
Endpoint do Servidor
URL: http://localhost:9000
Acesso: admin / admin (Mude no primeiro login)
Preparação por Tecnologia
Selecione sua stack tecnológica para ver os requisitos de pré-análise:
- Java (Maven/Quarkus)
- Angular
- Python
O Sonar exige o bytecode compilado para análise profunda de fluxo de dados.
cd @java/atomant-auth && ./mvnw compile
Certifique-se de que os pacotes estão instalados para análise de tipos e dependências.
npm install
Ative seu ambiente virtual para garantir o mapeamento correto das bibliotecas.
source .venv/bin/activate
Execução do Scanner
Rode o comando do scanner na raiz do workspace, referenciando o arquivo de configuração localizado em @devops.
docker run \
--rm \
--network="host" \
-e SONAR_HOST_URL="http://localhost:9000" \
-e SONAR_TOKEN="SEU_USER_TOKEN" \
-v "$(pwd):/usr/src" \
sonarsource/sonar-scanner-cli \
-Dproject.settings=@devops/sonar-project.properties
Conectividade Linux
Sempre utilize --network="host" no Linux para permitir que o scanner atinja o serviço no localhost do host.
Métricas & Visibilidade
| Métrica | Ícone | Foco | Descrição |
|---|---|---|---|
| Reliability | Zero Bugs | Erros de lógica e falhas críticas. | |
| Security | SAST | Vulnerabilidades conhecidas e riscos de ataque. | |
| Maintainability | Clean Code | Dívida técnica e facilidade de evolução. |
Padronização
O arquivo sonar-project.properties é a fonte da verdade para o escopo da análise. Antes de adicionar novos módulos, certifique-se de incluí-los na chave sonar.sources.