Files
tracksteel_app/update.sh
T

63 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# ---------------------------------------------------------
# TRACKSTEEL APP: DEPLOY & SINCRONIZAÇÃO (MARCOS-VPS -> PROD & HOSTINGER)
# ---------------------------------------------------------
set -e
CYAN='\033[0;36m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "\n${CYAN}🚀 Iniciando Ciclo Automático de Deploy TrackSteel APP (marcos-vps)...${NC}"
# 1. Git Commit & Push
echo -e "\n${YELLOW}📝 Sincronizando código com o repositório GitHub...${NC}"
git add .
if git diff-index --quiet HEAD --; then
echo -e "${GREEN}✨ Nenhuma nova alteração para comitar.${NC}"
else
TIMESTAMP=$(date +"%d/%m/%Y %H:%M:%S")
MSG="${1:-🚀 Auto-deploy: TrackSteel APP atualizado em $TIMESTAMP}"
echo -e "${CYAN}📤 Criando novo commit: $MSG${NC}"
git commit -m "$MSG"
fi
echo -e "${CYAN}📤 Enviando alterações para o repositório (gitea & origin)...${NC}"
git push gitea main || true
git push origin main || true
# 2. Build local do Frontend
echo -e "\n${YELLOW}🔨 Executando build de produção local (npm run build)...${NC}"
npm run build
# 3. Reiniciar container do Tracksteel local
echo -e "\n${YELLOW}🔄 Atualizando container local tracksteel-app...${NC}"
if docker ps -a --format '{{.Names}}' | grep -q "^tracksteel-app$"; then
docker restart tracksteel-app
echo -e "${GREEN}✅ Container tracksteel-app reiniciado com sucesso!${NC}"
else
echo -e "${YELLOW}ℹ️ Container tracksteel-app não encontrado no docker local.${NC}"
fi
# 4. Replicação Reversa de Banco de Dados para a Hostinger
echo -e "\n${YELLOW}🗄️ Executando replicação reversa de BD e Storage para a Hostinger...${NC}"
SCRIPT_SYNC="/root/Apps/TracksteelApp/scripts/sync_db_to_hostinger.sh"
if [ -f "$SCRIPT_SYNC" ]; then
chmod +x "$SCRIPT_SYNC"
"$SCRIPT_SYNC" || echo -e "${YELLOW}⚠️ Aviso: A replicação para Hostinger apresentou avisos ou falha de conexão.${NC}"
fi
# 5. Notificar Coolify da Hostinger para deploy de contingência
echo -e "\n${YELLOW}🌐 Atualizando app réplica no Coolify da Hostinger...${NC}"
COOLIFY_TOKEN="19|ZJKUbBgyeNGcKrVkMI5gJ1uMHDC39d9VIShHL473a60d9882"
TRACKSTEEL_UUID="i8o44gggg00o88ccc8oo48kk"
curl -s -X GET "https://painel.reifonas.cloud/api/v1/deploy?uuid=${TRACKSTEEL_UUID}&force=false" \
-H "Authorization: Bearer $COOLIFY_TOKEN" >/dev/null 2>&1 || true
echo -e "${GREEN}🚀 Deploy da réplica (Hostinger) acionado com sucesso!${NC}"
echo -e "\n${GREEN}🏁 Ciclo de deploy e replicação concluído com sucesso!${NC}\n"