63 lines
2.5 KiB
Bash
Executable File
63 lines
2.5 KiB
Bash
Executable File
#!/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"
|