- docker-compose.prod.yml: produção roda imagens versionadas do registry (sem build) - deploy-prod.sh <tag>: pull da tag + up -d --no-build + verificação /api/version + rollback - deploy.md: Metade A (CI) marcada como FEITA Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/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 "──────────────────────────────────────────────────────────────"
|
||||
echo "⚠️ Recomendado: backup do banco antes (dev/prod compartilham o banco):"
|
||||
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>"
|
||||
Reference in New Issue
Block a user