127 lines
2.5 KiB
Bash
Executable File
127 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 🚀 Script de Deploy Vercel - Liberi Kids
|
|
# Execute: chmod +x scripts/deploy-vercel.sh && ./scripts/deploy-vercel.sh
|
|
|
|
echo "☁️ Iniciando deploy no Vercel..."
|
|
|
|
# Cores para output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
log() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
warn() {
|
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Verificar se Vercel CLI está instalado
|
|
if ! command -v vercel &> /dev/null; then
|
|
log "Instalando Vercel CLI..."
|
|
npm install -g vercel
|
|
fi
|
|
|
|
# Criar arquivo vercel.json se não existir
|
|
if [ ! -f "vercel.json" ]; then
|
|
log "Criando configuração do Vercel..."
|
|
cat > vercel.json << 'EOF'
|
|
{
|
|
"version": 2,
|
|
"name": "liberi-kids-estoque",
|
|
"builds": [
|
|
{
|
|
"src": "server-supabase.js",
|
|
"use": "@vercel/node"
|
|
},
|
|
{
|
|
"src": "client/package.json",
|
|
"use": "@vercel/static-build",
|
|
"config": {
|
|
"distDir": "build"
|
|
}
|
|
}
|
|
],
|
|
"routes": [
|
|
{
|
|
"src": "/api/(.*)",
|
|
"dest": "/server-supabase.js"
|
|
},
|
|
{
|
|
"src": "/(.*)",
|
|
"dest": "/client/build/$1"
|
|
}
|
|
],
|
|
"env": {
|
|
"NODE_ENV": "production"
|
|
}
|
|
}
|
|
EOF
|
|
fi
|
|
|
|
# Criar arquivo .vercelignore se não existir
|
|
if [ ! -f ".vercelignore" ]; then
|
|
log "Criando .vercelignore..."
|
|
cat > .vercelignore << 'EOF'
|
|
node_modules
|
|
.env
|
|
.env.local
|
|
.env.development
|
|
.env.test
|
|
.env.production
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.DS_Store
|
|
.vscode
|
|
.idea
|
|
*.log
|
|
EOF
|
|
fi
|
|
|
|
# Verificar se as dependências estão instaladas
|
|
log "Verificando dependências..."
|
|
npm install
|
|
|
|
cd client
|
|
npm install
|
|
cd ..
|
|
|
|
# Fazer login no Vercel (se necessário)
|
|
log "Verificando login no Vercel..."
|
|
vercel whoami || {
|
|
log "Faça login no Vercel:"
|
|
vercel login
|
|
}
|
|
|
|
# Deploy
|
|
log "Fazendo deploy no Vercel..."
|
|
vercel --prod
|
|
|
|
if [ $? -eq 0 ]; then
|
|
log "Deploy concluído com sucesso! 🎉"
|
|
echo ""
|
|
echo -e "${BLUE}📋 Próximos passos:${NC}"
|
|
echo "1. Configure as variáveis de ambiente no dashboard do Vercel:"
|
|
echo " - SUPABASE_URL"
|
|
echo " - SUPABASE_ANON_KEY"
|
|
echo ""
|
|
echo "2. Acesse: https://vercel.com/dashboard"
|
|
echo "3. Selecione seu projeto"
|
|
echo "4. Vá em Settings > Environment Variables"
|
|
echo "5. Adicione suas variáveis do Supabase"
|
|
echo ""
|
|
echo -e "${GREEN}✓ Aplicação disponível na URL fornecida pelo Vercel${NC}"
|
|
else
|
|
error "Falha no deploy. Verifique os logs acima."
|
|
exit 1
|
|
fi
|