2.7 KiB
2.7 KiB
Workflow de Desenvolvimento
Setup de Desenvolvimento Local
Pré-requisitos
# Node.js 18+ e npm
node --version # >= 18
npm --version # >= 9
# Docker (para build de imagens e teste local)
docker --version # >= 24
# kubectl (para interagir com cluster K8s)
kubectl version --client # >= 1.28
# (Opcional) k9s para gerenciamento visual do cluster
k9s version
Setup Inicial
# Clone repository
git clone https://github.com/automatizase/dashboard-promova.git
cd dashboard-promova
# Install dependencies
npm install
# Copy environment template
cp .env.local.example .env.local
# Edit .env.local com credenciais
# nano .env.local
# Start development (local, sem Docker)
npm run dev
Comandos de Desenvolvimento
Desenvolvimento Local (sem Docker):
# Start dev server
npm run dev
# Run tests
npm run test
# Run E2E tests
npm run test:e2e
# Lint
npm run lint
# Build production
npm run build
# Start production
npm run start
Desenvolvimento com Docker (simula produção):
# Build Docker image
docker build -t portal:dev .
# Run container local
docker run -p 3000:3000 \
--env-file .env.local \
portal:dev
# Acessar: http://localhost:3000
# Stop container
docker ps # Ver CONTAINER ID
docker stop <CONTAINER_ID>
Build e Push para Registry (CI/CD):
# Build com tag de versão
docker build -t registry.automatizase.com/portal:1.0.0 .
# Login no registry privado
docker login registry.automatizase.com
# Push para registry
docker push registry.automatizase.com/portal:1.0.0
# Tag como latest
docker tag registry.automatizase.com/portal:1.0.0 registry.automatizase.com/portal:latest
docker push registry.automatizase.com/portal:latest
Deploy para Kubernetes (via kubectl manual, ou ArgoCD automatizado):
# Aplicar todos manifests K8s
kubectl apply -f k8s/
# Verificar pods
kubectl get pods -n automatizase-portal
# Ver logs
kubectl logs -f deployment/portal-deployment -n automatizase-portal
# Port-forward para testar local
kubectl port-forward svc/portal-service 3000:80 -n automatizase-portal
# Rollback (se algo der errado)
kubectl rollout undo deployment/portal-deployment -n automatizase-portal
# Verificar status do Ingress
kubectl get ingress -n automatizase-portal
Configuração de Ambiente
Variáveis de Ambiente Necessárias
# Frontend (.env.local)
NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGci...
# Backend
SUPABASE_SERVICE_ROLE_KEY=eyJhbGci...
EVOLUTION_API_URL=https://evolution.automatizase.com
EVOLUTION_API_KEY=your-key
EVOLUTION_INSTANCE_NAMES=instance1,instance2,instance3
N8N_OAUTH_URL=https://n8n.automatizase.com/webhook/google-oauth