webmoney/frontend/deploy.ps1

91 lines
2.8 KiB
PowerShell

# =============================================================================
# WEBMoney Frontend - Script de Deploy para Windows
# =============================================================================
# Este script faz build e deploy do frontend para o servidor de producao
# Uso: .\deploy.ps1
# Requer: Node.js, npm, PuTTY (pscp, plink) instalados no PATH
# =============================================================================
$ErrorActionPreference = "Stop"
# Configuracoes
$SERVER_USER = "root"
$SERVER_HOST = "213.165.93.60"
$SERVER_PASS = "Master9354"
$REMOTE_PATH = "/var/www/webmoney/frontend/dist"
$LOCAL_DIST = ".\dist"
# Cores
function Write-Color {
param([string]$Text, [string]$Color = "White")
Write-Host $Text -ForegroundColor $Color
}
Write-Host ""
Write-Color "========================================" "Cyan"
Write-Color " WEBMoney Frontend - Deploy Script " "Cyan"
Write-Color "========================================" "Cyan"
Write-Host ""
# 1. Build
Write-Color "[1/4] Fazendo build do frontend..." "Yellow"
if (Test-Path $LOCAL_DIST) {
Remove-Item -Recurse -Force $LOCAL_DIST
}
npm run build
if (-not (Test-Path $LOCAL_DIST)) {
Write-Color "ERRO: Build falhou - pasta dist nao encontrada" "Red"
exit 1
}
Write-Color "Build concluido" "Green"
Write-Host ""
# 2. Limpar diretorio remoto
Write-Color "[2/4] Limpando diretorio remoto..." "Yellow"
plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "rm -rf $REMOTE_PATH/*"
Write-Color "Diretorio remoto limpo" "Green"
Write-Host ""
# 3. Enviar arquivos
Write-Color "[3/4] Enviando arquivos para $REMOTE_PATH ..." "Yellow"
pscp -r -batch -pw $SERVER_PASS "$LOCAL_DIST\*" "${SERVER_USER}@${SERVER_HOST}:${REMOTE_PATH}/"
Write-Color "Arquivos enviados" "Green"
Write-Host ""
# 4. Verificar deploy
Write-Color "[4/5] Verificando deploy..." "Yellow"
$result = plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "ls $REMOTE_PATH/index.html 2>/dev/null"
if (-not $result) {
Write-Color "========================================" "Red"
Write-Color " ERRO: index.html nao encontrado " "Red"
Write-Color "========================================" "Red"
exit 1
}
Write-Color "Arquivos verificados" "Green"
Write-Host ""
# 5. Reiniciar Nginx para limpar cache
Write-Color "[5/5] Reiniciando Nginx para limpar cache..." "Yellow"
plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "systemctl restart nginx"
Write-Color "Nginx reiniciado" "Green"
Write-Host ""
Write-Host ""
Write-Color "========================================" "Green"
Write-Color " Deploy concluido com sucesso! " "Green"
Write-Color "========================================" "Green"
Write-Host ""
Write-Host "Acesse: https://webmoney.cnxifly.com"
Write-Host ""
Write-Host "Dica: Use Ctrl+Shift+R no navegador para limpar o cache local"
Write-Host ""