87 lines
3.2 KiB
PowerShell
87 lines
3.2 KiB
PowerShell
# =============================================================================
|
|
# WEBMoney Backend - Script de Deploy para Windows
|
|
# =============================================================================
|
|
# Este script sincroniza e deploya o backend Laravel para o servidor
|
|
# Uso: .\deploy.ps1
|
|
# Requer: PuTTY (pscp, plink) instalados no PATH
|
|
# =============================================================================
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
# Configuracoes
|
|
$SERVER_USER = "root"
|
|
$SERVER_HOST = "213.165.93.60"
|
|
$SERVER_PASS = "Master9354"
|
|
$SERVER_PATH = "/var/www/webmoney/backend"
|
|
$LOCAL_PATH = $PSScriptRoot
|
|
|
|
# Cores
|
|
function Write-Color {
|
|
param([string]$Text, [string]$Color = "White")
|
|
Write-Host $Text -ForegroundColor $Color
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Color "========================================" "Cyan"
|
|
Write-Color " WEBMoney Backend - Deploy Script " "Cyan"
|
|
Write-Color "========================================" "Cyan"
|
|
Write-Host ""
|
|
|
|
# 1. Sincronizar pastas principais
|
|
Write-Color "[1/5] Enviando pastas do backend..." "Yellow"
|
|
|
|
$folders = @("app", "bootstrap", "config", "database", "public", "resources", "routes")
|
|
|
|
foreach ($folder in $folders) {
|
|
if (Test-Path "$LOCAL_PATH\$folder") {
|
|
Write-Host " -> $folder"
|
|
pscp -r -batch -pw $SERVER_PASS "$LOCAL_PATH\$folder" "${SERVER_USER}@${SERVER_HOST}:${SERVER_PATH}/"
|
|
}
|
|
}
|
|
|
|
Write-Color "Pastas enviadas" "Green"
|
|
Write-Host ""
|
|
|
|
# 2. Enviar arquivos principais
|
|
Write-Color "[2/5] Enviando arquivos..." "Yellow"
|
|
|
|
$files = @("artisan", "composer.json", "composer.lock")
|
|
|
|
foreach ($file in $files) {
|
|
if (Test-Path "$LOCAL_PATH\$file") {
|
|
Write-Host " -> $file"
|
|
pscp -batch -pw $SERVER_PASS "$LOCAL_PATH\$file" "${SERVER_USER}@${SERVER_HOST}:${SERVER_PATH}/"
|
|
}
|
|
}
|
|
|
|
Write-Color "Arquivos enviados" "Green"
|
|
Write-Host ""
|
|
|
|
# 3. Instalar dependencias e configurar
|
|
Write-Color "[3/5] Instalando dependencias no servidor..." "Yellow"
|
|
plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "cd $SERVER_PATH; composer install --no-dev --optimize-autoloader 2>&1 | tail -5"
|
|
|
|
Write-Color "Dependencias instaladas" "Green"
|
|
Write-Host ""
|
|
|
|
# 4. Migracoes e otimizacoes
|
|
Write-Color "[4/5] Executando migracoes e otimizacoes..." "Yellow"
|
|
plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "cd $SERVER_PATH; php artisan migrate --force; php artisan optimize:clear; php artisan config:cache; php artisan route:cache; php artisan view:cache"
|
|
|
|
Write-Color "Migracoes e caches OK" "Green"
|
|
Write-Host ""
|
|
|
|
# 5. Permissoes e reiniciar PHP-FPM (CRITICO para evitar cache de opcodes)
|
|
Write-Color "[5/5] Ajustando permissoes e reiniciando PHP-FPM..." "Yellow"
|
|
plink -batch -pw $SERVER_PASS "$SERVER_USER@$SERVER_HOST" "chown -R www-data:www-data $SERVER_PATH/storage $SERVER_PATH/bootstrap/cache; chmod -R 775 $SERVER_PATH/storage $SERVER_PATH/bootstrap/cache; systemctl restart php8.4-fpm"
|
|
|
|
Write-Color "Permissoes e PHP-FPM OK" "Green"
|
|
Write-Host ""
|
|
|
|
Write-Color "========================================" "Green"
|
|
Write-Color " Deploy concluido com sucesso! " "Green"
|
|
Write-Color "========================================" "Green"
|
|
Write-Host ""
|
|
Write-Host "API disponivel em: https://webmoney.cnxifly.com/api"
|
|
Write-Host ""
|