push main (frontend/**) → frontend-deploy.yml → GitHub Pages
push/PR qualquer branch (backend/**) → backend-ci.yml → artefacto JAR
git tag v*.*.* → release.yml → GitHub Release + JAR
Aceder a: Repositório → Settings → Secrets and variables → Actions → New repository secret
| Secret | Valor | Obrigatório |
|---|---|---|
VITE_API_URL |
URL pública do backend (ex: https://api.aquabudget.com) |
Sim |
JWT_SECRET |
String aleatória ≥ 32 caracteres | Sim (para CI do backend) |
GITHUB_TOKENé gerado automaticamente pelo GitHub — não é necessário criar.
Deploy from a branchBranch: gh-pages |
Folder: / (root) |
A branch
gh-pagesé criada automaticamente no primeiro deploy pelo workflowfrontend-deploy.yml.
A URL pública será: https://USERNAME.github.io/aquabudget/
frontend/public/CNAME com o domínio:
aquabudget.com
CNAME apontando para USERNAME.github.ioO deploy é automático — basta fazer push para main com alterações em frontend/:
git push origin main
O workflow executa:
npm ci — instalar dependênciasnpm run lint — verificar códigonpm run build — gerar dist/ com VITE_API_URL do secretdist/ para branch gh-pagesTempo médio: 2-4 minutos
Automático em qualquer push/PR que toque backend/:
git push origin feature/minha-feature
O workflow executa:
mvn package — compila + testes unitários# Garantir que está na main e atualizado
git checkout main
git pull
# Criar e publicar tag
git tag v1.0.0
git push origin v1.0.0
O workflow release.yml executa automaticamente:
-DskipTests, pois o CI já validou)# Ver histórico de deploys na branch gh-pages
git log gh-pages --oneline
# Reverter para commit anterior
git checkout gh-pages
git revert HEAD
git push origin gh-pages
Após deploy do frontend: