#!/bin/bash # ============================================================================= # WEBMoney Frontend - Script de Deploy # ============================================================================= # Este script faz build e deploy do frontend para o servidor de produção # Uso: ./deploy.sh # Repositório: https://git.cnxifly.com/marco/webmoney # ============================================================================= set -e # Sair em caso de erro # Configurações - CAMINHO CORRETO! SERVER_USER="root" SERVER_HOST="213.165.93.60" SERVER_PASS="Master9354" REMOTE_PATH="/var/www/webmoney/frontend/dist" # <<< IMPORTANTE: Sempre /dist LOCAL_DIST="./dist" PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" # Cores para output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${BLUE}========================================${NC}" echo -e "${BLUE} WEBMoney Frontend - Deploy Script ${NC}" echo -e "${BLUE}========================================${NC}" echo "" # 1. Build echo -e "${YELLOW}[1/4]${NC} Fazendo build do frontend..." rm -rf dist npm run build if [ ! -d "$LOCAL_DIST" ]; then echo -e "${RED}ERRO: Build falhou - pasta dist não encontrada${NC}" exit 1 fi echo -e "${GREEN}✓ Build concluído${NC}" echo "" # 2. Limpar diretório remoto echo -e "${YELLOW}[2/4]${NC} Limpando diretório remoto..." sshpass -p "$SERVER_PASS" ssh -o StrictHostKeyChecking=no "$SERVER_USER@$SERVER_HOST" \ "rm -rf $REMOTE_PATH/* && echo 'Diretório limpo'" echo -e "${GREEN}✓ Diretório remoto limpo${NC}" echo "" # 3. Enviar arquivos para o caminho CORRETO echo -e "${YELLOW}[3/4]${NC} Enviando arquivos para $REMOTE_PATH ..." sshpass -p "$SERVER_PASS" scp -o StrictHostKeyChecking=no -r $LOCAL_DIST/* \ "$SERVER_USER@$SERVER_HOST:$REMOTE_PATH/" echo -e "${GREEN}✓ Arquivos enviados${NC}" echo "" # 4. Verificar deploy echo -e "${YELLOW}[4/4]${NC} Verificando deploy..." REMOTE_FILES=$(sshpass -p "$SERVER_PASS" ssh -o StrictHostKeyChecking=no "$SERVER_USER@$SERVER_HOST" \ "ls -la $REMOTE_PATH/") echo "$REMOTE_FILES" echo "" # Verificar se index.html existe if sshpass -p "$SERVER_PASS" ssh -o StrictHostKeyChecking=no "$SERVER_USER@$SERVER_HOST" \ "test -f $REMOTE_PATH/index.html"; then echo -e "${GREEN}========================================${NC}" echo -e "${GREEN} ✓ Deploy concluído com sucesso! ${NC}" echo -e "${GREEN}========================================${NC}" echo "" echo -e "Acesse: ${BLUE}https://webmoney.cnxifly.com${NC}" echo "" # Lembrete de commit echo -e "${BLUE}════════════════════════════════════════${NC}" echo -e "${YELLOW}📝 Não esqueça de fazer commit:${NC}" echo -e "" echo -e " cd $PROJECT_ROOT" echo -e " git add -A && git commit -m \"deploy: frontend\" && git push gitea main" echo -e "" echo -e "${BLUE} Repositório: ${NC}https://git.cnxifly.com/marco/webmoney" echo -e "${BLUE}════════════════════════════════════════${NC}" echo "" else echo -e "${RED}========================================${NC}" echo -e "${RED} ✗ ERRO: index.html não encontrado ${NC}" echo -e "${RED}========================================${NC}" exit 1 fi