Como rodar¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-15
Audiência: dev que clonou o repo e quer subir o app, rodar o gate e gerar as imagens na própria
máquina. Como o código se organiza está no Guia do código; as variáveis de
ambiente, em Configuração; o que muda entre dev, test e produção, em
Perfis Micronaut.
Pré-requisitos¶
- JDK 25 no
JAVA_HOME: é a versão dotoolchain.javadodocs/app.json, a mesma do CI. - Docker rodando: o
runsobe o Postgres de dev, e os testes sobem o Postgres de teste via Testcontainers. - Build sempre pelo wrapper (
./gradlew; no Windows,.\gradlew.bat).
Subir o app¶
./gradlew run
O run ativa o perfil dev, a menos que MICRONAUT_ENVIRONMENTS já venha no ambiente, e depende da
task subirInfraDev, que sobe o Postgres 18 do docker-compose.dev.yml na porta 5432 e espera o banco
ficar saudável. O app responde em http://localhost:8080.
No perfil dev o Flyway recria o schema a cada boot, o Bearer de /api/** fica desligado, as telas
abrem sem login quando as envs de autenticação não estão definidas e o Sentry não inicializa sem
SENTRY_DSN.
Quem já tem um Postgres próprio exporta DATASOURCES_DEFAULT_URL (e DATASOURCES_DEFAULT_USERNAME/
DATASOURCES_DEFAULT_PASSWORD): a subida do Docker é pulada. Para parar o banco de dev:
docker compose -f docker-compose.dev.yml down.
Gate¶
./gradlew check # o mesmo comando do job gate do pipeline.yml
./gradlew coverage # testes e o percentual do JaCoCo no terminal
./gradlew test --tests "*XadmTableRegistryTest" # um teste só
O check compila, roda a análise estática, a suíte inteira (unit, integração com @MicronautTest e o
ArchitectureTest) e o piso de cobertura do JaCoCo. Os testes de integração rodam contra o Postgres de
teste descrito em Perfis Micronaut: basta o Docker no ar.
Jar e imagens¶
./gradlew shadowJar # build/libs/app.jar
docker build -t integrador-server:local . # imagem JVM
docker build -f Dockerfile.native -t integrador-server:native-local . # imagem native
O alvo de deploy é o do build.targets do docs/app.json. O caminho native (reachability metadata e
diagnóstico de boot) está em Native image; a implantação, em
Implantação — integrador no Coolify.
SQL de diagnóstico¶
scripts/sql/ guarda consultas de leitura para rodar à mão contra o banco de uma instância:
saldo_bl_por_lote.sql (saldo atual de cada BL) e diagnostico_bl_inconsistente.sql (BL com venda e
liberação dessincronizadas). Cada arquivo explica no cabeçalho o que devolve.
Site de docs¶
python -m mkdocs serve
Precisa do MkDocs Material e dos plugins listados no mkdocs.yml. O mkdocs build --strict reprova
página fora do nav: e link quebrado.