78d2a4b00e
Alinha o vocabulário ao fluxo real (dev em vez de "staging", que nunca foi isolado em nenhum projeto — não existe banco *_staging nem container ativo). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
1.5 KiB
Bash
Executable File
41 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# ─── deploy-prod-builder-mercado.sh ──────────────────────────────────────────
|
|
# Script modelo para o ecossistema Clube67.
|
|
# Realiza build multi-frontend e sincronização VPS 4 -> VPS 1.
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
set -e
|
|
|
|
LOCK_FILE="/tmp/deploy-prod-mercado.lock"
|
|
if [ -f "$LOCK_FILE" ]; then
|
|
echo "🚨 Deploy já está em andamento! Aguarde..."
|
|
exit 1
|
|
fi
|
|
touch "$LOCK_FILE"
|
|
trap 'rm -f "$LOCK_FILE"' EXIT
|
|
|
|
LOG_FILE="/home/deploy/stack/webhook-listener/deploy.log"
|
|
log() {
|
|
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] [MERCADO] $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
log "🚀 Iniciando ciclo de build e deploy automático para MERCADO..."
|
|
|
|
# 1. Sincronizar repositório Git local
|
|
cd /home/deploy/stack/mercado.clube67.com
|
|
git pull origin main
|
|
|
|
# 2. Build Frontends (Admin, Customer, SuperAdmin)
|
|
for app in admin customer superadmin; do
|
|
log "⚙️ Compilando Frontend: $app..."
|
|
cd "/home/deploy/stack/mercado.clube67.com/frontend/$app"
|
|
npm install
|
|
npm run build
|
|
done
|
|
|
|
# 3. Reiniciar contêineres de Dev localmente na VPS 4
|
|
log "🔄 Reiniciando contêineres de DEV na VPS 4..."
|
|
docker compose -f /home/deploy/stack/mercado.clube67.com/docker-compose-dev.yml up -d --build
|
|
|
|
log "✅ Deploy em DEV concluído com sucesso!"
|
|
|