Primeiro commit
This commit is contained in:
221
deploy-pix-completo.sh
Executable file
221
deploy-pix-completo.sh
Executable file
@@ -0,0 +1,221 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 🚀 Deploy PIX Completo - Local para Servidor
|
||||
# Execute: ./deploy-pix-completo.sh usuario@servidor
|
||||
|
||||
echo "🚀 Deploy PIX - Liberi Kids (Local → Servidor)"
|
||||
echo "=============================================="
|
||||
|
||||
# Cores para output
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "${YELLOW}[WARN]${NC} $1"
|
||||
}
|
||||
|
||||
info() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# Verificar parâmetros
|
||||
if [ -z "$1" ]; then
|
||||
error "❌ Uso: ./deploy-pix-completo.sh usuario@servidor"
|
||||
echo "Exemplo: ./deploy-pix-completo.sh tiago@192.168.195.145"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SERVIDOR=$1
|
||||
info "🎯 Servidor destino: $SERVIDOR"
|
||||
|
||||
# Verificar se estamos no diretório correto
|
||||
if [ ! -f "server-supabase.js" ]; then
|
||||
error "❌ Execute este script no diretório raiz do projeto!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "📦 ETAPA 1: Preparando arquivos locais..."
|
||||
|
||||
# Build do frontend
|
||||
if [ -d "client" ]; then
|
||||
info "🔨 Fazendo build do frontend..."
|
||||
cd client
|
||||
npm run build
|
||||
if [ $? -eq 0 ]; then
|
||||
log "✅ Build do frontend concluído"
|
||||
else
|
||||
error "❌ Erro no build do frontend"
|
||||
exit 1
|
||||
fi
|
||||
cd ..
|
||||
else
|
||||
warn "⚠️ Diretório client não encontrado"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "📤 ETAPA 2: Enviando arquivos para o servidor..."
|
||||
|
||||
# Criar lista de arquivos para enviar
|
||||
ARQUIVOS_ENVIAR=(
|
||||
"server-supabase.js"
|
||||
"config/"
|
||||
"sql/"
|
||||
"scripts/"
|
||||
"client/build/"
|
||||
"package.json"
|
||||
".env.example"
|
||||
"aplicar-pix-supabase.sql"
|
||||
"configurar-pix-servidor.sh"
|
||||
"INTEGRACAO-PIX-GUIDE.md"
|
||||
)
|
||||
|
||||
# Verificar conectividade SSH
|
||||
info "🔗 Testando conexão SSH..."
|
||||
ssh -o ConnectTimeout=10 -o BatchMode=yes $SERVIDOR exit
|
||||
if [ $? -ne 0 ]; then
|
||||
error "❌ Não foi possível conectar ao servidor $SERVIDOR"
|
||||
echo "Verifique:"
|
||||
echo " - Se o servidor está ligado"
|
||||
echo " - Se o SSH está funcionando"
|
||||
echo " - Se as credenciais estão corretas"
|
||||
exit 1
|
||||
fi
|
||||
log "✅ Conexão SSH OK"
|
||||
|
||||
# Criar diretório no servidor se não existir
|
||||
info "📁 Criando diretório no servidor..."
|
||||
ssh $SERVIDOR "mkdir -p ~/app_estoque"
|
||||
|
||||
# Enviar arquivos
|
||||
info "📤 Enviando arquivos PIX..."
|
||||
for arquivo in "${ARQUIVOS_ENVIAR[@]}"; do
|
||||
if [ -e "$arquivo" ]; then
|
||||
info "📤 Enviando: $arquivo"
|
||||
rsync -avz --progress "$arquivo" $SERVIDOR:~/app_estoque/
|
||||
if [ $? -eq 0 ]; then
|
||||
log "✅ $arquivo enviado"
|
||||
else
|
||||
warn "⚠️ Erro ao enviar $arquivo"
|
||||
fi
|
||||
else
|
||||
warn "⚠️ Arquivo não encontrado: $arquivo"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
info "🔧 ETAPA 3: Configurando no servidor..."
|
||||
|
||||
# Executar configuração no servidor
|
||||
ssh $SERVIDOR << 'EOF'
|
||||
cd ~/app_estoque
|
||||
|
||||
echo "🏦 Configurando PIX no servidor..."
|
||||
|
||||
# Dar permissão de execução
|
||||
chmod +x configurar-pix-servidor.sh
|
||||
|
||||
# Instalar dependências se necessário
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "📦 Instalando dependências..."
|
||||
npm install
|
||||
fi
|
||||
|
||||
# Instalar mercadopago se não existir
|
||||
if [ ! -d "node_modules/mercadopago" ]; then
|
||||
echo "📦 Instalando Mercado Pago SDK..."
|
||||
npm install mercadopago
|
||||
fi
|
||||
|
||||
# Verificar se .env existe
|
||||
if [ ! -f ".env" ]; then
|
||||
echo "📝 Criando arquivo .env..."
|
||||
cp .env.example .env
|
||||
fi
|
||||
|
||||
# Verificar se credenciais PIX estão no .env
|
||||
if ! grep -q "MERCADOPAGO_ACCESS_TOKEN" .env; then
|
||||
echo "📝 Adicionando configurações PIX ao .env..."
|
||||
cat >> .env << 'ENVEOF'
|
||||
|
||||
# =====================================================
|
||||
# CONFIGURAÇÕES PIX - MERCADO PAGO
|
||||
# =====================================================
|
||||
|
||||
# Access Token do Mercado Pago (TEST para desenvolvimento, PROD para produção)
|
||||
MERCADOPAGO_ACCESS_TOKEN=TEST-sua_access_token_aqui
|
||||
|
||||
# Public Key do Mercado Pago
|
||||
MERCADOPAGO_PUBLIC_KEY=pk_test_sua_public_key_aqui
|
||||
|
||||
# URL base para webhooks (importante para produção)
|
||||
BASE_URL=http://localhost:5000
|
||||
ENVEOF
|
||||
fi
|
||||
|
||||
echo "✅ Configuração no servidor concluída!"
|
||||
EOF
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
log "✅ Configuração no servidor concluída"
|
||||
else
|
||||
error "❌ Erro na configuração do servidor"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "🎉 DEPLOY PIX CONCLUÍDO COM SUCESSO!"
|
||||
echo ""
|
||||
|
||||
log "✅ Arquivos enviados para: $SERVIDOR:~/app_estoque/"
|
||||
log "✅ Dependências instaladas"
|
||||
log "✅ Configurações preparadas"
|
||||
echo ""
|
||||
|
||||
warn "📝 PRÓXIMOS PASSOS NO SERVIDOR:"
|
||||
echo ""
|
||||
echo "1. 🏦 CONFIGURAR CREDENCIAIS MERCADO PAGO:"
|
||||
echo " ssh $SERVIDOR"
|
||||
echo " cd ~/app_estoque"
|
||||
echo " nano .env"
|
||||
echo " # Configure MERCADOPAGO_ACCESS_TOKEN e MERCADOPAGO_PUBLIC_KEY"
|
||||
echo ""
|
||||
|
||||
echo "2. 🗄️ APLICAR SQL NO SUPABASE:"
|
||||
echo " - Acesse: https://supabase.com/dashboard"
|
||||
echo " - SQL Editor → Execute: aplicar-pix-supabase.sql"
|
||||
echo ""
|
||||
|
||||
echo "3. 🔄 REINICIAR SERVIDOR:"
|
||||
echo " ssh $SERVIDOR"
|
||||
echo " cd ~/app_estoque"
|
||||
echo " pm2 restart liberi-kids"
|
||||
echo " # ou: pm2 start server-supabase.js --name liberi-kids"
|
||||
echo ""
|
||||
|
||||
echo "4. 🧪 TESTAR PIX:"
|
||||
echo " - Acesse o sistema no servidor"
|
||||
echo " - Vá em Vendas → Clique no botão PIX (💳)"
|
||||
echo " - Verifique se QR Code é gerado"
|
||||
echo ""
|
||||
|
||||
info "💡 CREDENCIAIS MERCADO PAGO:"
|
||||
echo " - Acesse: https://www.mercadopago.com.br/developers"
|
||||
echo " - Crie aplicação de 'Pagamentos online'"
|
||||
echo " - Copie Access Token e Public Key"
|
||||
echo ""
|
||||
|
||||
log "🎉 SEU SISTEMA PIX ESTÁ PRONTO PARA CONFIGURAÇÃO FINAL!"
|
||||
echo ""
|
||||
warn "Execute os próximos passos no servidor para ativar o PIX!"
|
||||
Reference in New Issue
Block a user