Primeiro commit
This commit is contained in:
126
scripts/deploy-vercel.sh
Executable file
126
scripts/deploy-vercel.sh
Executable file
@@ -0,0 +1,126 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user