feat(version): versão em runtime via /api/version (Passos 1/3/4)
- buildInfo.ts: hook useAppVersion() consome GET /api/version (fonte única = backend),
com fallback ao carimbo do bundle; deixa de depender do APP_VERSION manual.
- Versão exibida em Configurações ("Sobre o sistema") + telas públicas (Login/WaitingInvite);
removida do rodapé do Sidebar.
- compose.prod/deploy-prod.sh: injetam APP_VERSION (=tag) e APP_ENV=PROD em runtime,
desacoplando a versão semântica do build (commit/build seguem da imagem).
- constants.ts marcado legado + bump V1.0.15 (transitório até o Passo 5; evita colisão de tag).
- DEPLOY-PRODUCAO.md reescrito com status ✅/🧪/🎯 + nota de fase transitória.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+15
-4
@@ -1,14 +1,25 @@
|
||||
# Override de PRODUÇÃO (VPS1): roda IMAGENS VERSIONADAS do registry em vez de buildar.
|
||||
# A produção não builda — só consome a imagem pronta publicada pela CI (Etapa 5).
|
||||
# A produção não builda — só consome a imagem pronta publicada pela CI.
|
||||
#
|
||||
# Uso (na VPS1), via deploy-prod.sh <tag>, que faz:
|
||||
# SCOREODONTO_TAG=v1.0.13 docker compose -f docker-compose.yml -f docker-compose.prod.yml pull ...
|
||||
# Uso (na VPS1), via deploy-prod.sh <tag>, que exporta SCOREODONTO_TAG e faz:
|
||||
# docker compose -f docker-compose.yml -f docker-compose.prod.yml pull ...
|
||||
# docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --no-build ...
|
||||
#
|
||||
# O --no-build garante que o build: do compose base seja ignorado (usa a imagem puxada).
|
||||
#
|
||||
# VERSÃO EM RUNTIME (Passo 3): a versão semântica EXIBIDA (/api/version → footer/Configurações)
|
||||
# vem da TAG promovida, injetada via `environment` abaixo — NÃO do build. `commit` e `build`
|
||||
# continuam vindo do ENV carimbado na imagem (imutáveis, propriedade do artefato). Assim a
|
||||
# MESMA imagem pode ser promovida sob qualquer tag sem rebuild — pré-requisito do
|
||||
# "build once, promote the same artifact". O frontend não precisa de versão aqui: é estático
|
||||
# e lê tudo de /api/version (backend) em runtime.
|
||||
services:
|
||||
scoreodonto-backend:
|
||||
image: git.clube67.com/ruicesar/scoreodonto-backend:${SCOREODONTO_TAG:-latest}
|
||||
# Mescla com o environment do compose base (por chave). Sobrescreve o APP_VERSION/APP_ENV
|
||||
# que vieram embutidos na imagem pelo build, fixando a versão = tag e o ambiente = PROD.
|
||||
environment:
|
||||
- APP_VERSION=${SCOREODONTO_TAG:-dev}
|
||||
- APP_ENV=PROD
|
||||
|
||||
scoreodonto-frontend:
|
||||
image: git.clube67.com/ruicesar/scoreodonto-frontend:${SCOREODONTO_TAG:-latest}
|
||||
|
||||
Reference in New Issue
Block a user