Files
VPS 4 Builder a991f1fe2c 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>
2026-06-17 05:19:27 +02:00

49 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# =============================================================================
# Deploy por TAG na PRODUÇÃO (VPS1) — Etapa 6
# Puxa a imagem versionada do registry do Gitea e sobe, SEM build.
#
# Uso (NA VPS1): ./deploy-prod.sh v1.0.13
# Rollback: ./deploy-prod.sh <tag-anterior>
#
# Pré-requisitos (uma vez): docker login git.clube67.com (token read:package).
# =============================================================================
set -euo pipefail
TAG="${1:-}"
if [ -z "$TAG" ]; then
echo "uso: ./deploy-prod.sh <vX.Y.Z> (ex.: ./deploy-prod.sh v1.0.13)"
echo "tags disponíveis no registry: veja git.clube67.com → Packages"
exit 1
fi
export DOCKER_HOST=unix:///run/user/1000/docker.sock
export SCOREODONTO_TAG="$TAG"
cd "$(dirname "$0")"
FILES="-f docker-compose.yml -f docker-compose.prod.yml"
echo "──────────────────────────────────────────────────────────────"
echo " Deploy ScoreOdonto → PRODUÇÃO tag: $TAG"
echo " Versão exibida (/api/version) será injetada em runtime = $TAG (commit/build vêm da imagem)"
echo "──────────────────────────────────────────────────────────────"
echo "⚠️ Recomendado: backup do banco de PRODUÇÃO antes (migrações rodam no boot do backend):"
echo " ssh deploy@10.99.0.3 'pg_dump -Fc scoreodonto -f ~/backups/scoreodonto_\$(date +%Y%m%d_%H%M).dump'"
echo
echo "[1/3] pull das imagens $TAG ..."
docker compose $FILES pull scoreodonto-backend scoreodonto-frontend
echo "[2/3] subindo (sem build) ..."
docker compose $FILES up -d --no-build scoreodonto-backend scoreodonto-frontend nginx
echo "[3/3] verificação (aguardando boot do backend) ..."
sleep 12
echo -n " versão no ar: "
curl -s --max-time 10 https://scoreodonto.com/api/version || echo "(ainda subindo — confira em alguns segundos)"
echo
docker logs scoreodontocom-scoreodonto-backend-1 --tail 5 2>&1 | grep -iE 'VERSION|MIGRATION' || true
echo
echo "✅ Deploy concluído (tag $TAG)."
echo " Rollback: ./deploy-prod.sh <tag-anterior>"