6.5 KiB
6.5 KiB
Fluxo de Desenvolvimento - Avanzato
Visao Geral
+---------------------------------------------------------------+
| SEU MAC (Desenvolvimento) |
| |
| +-------------------+ bash scripts/dev.sh start |
| | Codigo Fonte | --> http://localhost:5173 |
| | app/src/ | |
| +-------------------+ |
| | |
| | bash scripts/dev.sh build-hom |
| | bash scripts/dev.sh deploy-hom |
| v |
+---------------------------------------------------------------+
|
v
+---------------------------------------------------------------+
| SERVIDOR - HOMOLOGACAO |
| |
| Gitea (git push) --> Hook --> Build --> Nginx |
| |
| https://homologacao.avanzato.com.br |
| - Mautic: desativado |
| - Google Ads: desativado |
| - Facebook Pixel: desativado |
| - noindex/nofollow (nao aparece no Google) |
| |
+---------------------------------------------------------------+
|
| Aprovado? bash scripts/dev.sh deploy-prod
v
+---------------------------------------------------------------+
| SERVIDOR - PRODUCAO |
| |
| https://avanzato.com.br |
| - Mautic: ativo (forms, tracking) |
| - Google Ads: ativo |
| - Facebook Pixel: ativo |
| - Indexado no Google |
| |
+---------------------------------------------------------------+
1. Primeira Configuracao (faca uma vez)
1.1 Instalar Node.js 20+
# Instalar via Homebrew
brew install node@20
# Verificar
node -v # v20.x.x
npm -v # 10.x.x
1.2 Instalar dependencias
cd /Users/avanzato/Projetos/Avanzato/avanzato-site/app
npm install
1.3 Configurar acesso aos servidores
# Copiar template
cp scripts/.env.local.example scripts/.env.local
# Editar com seus dados
nano scripts/.env.local
Conteudo do .env.local:
# Homologacao
SSH_HOM_HOST=192.168.1.100 # ou IP publico
SSH_HOM_USER=deploy
SSH_HOM_PATH=/var/www/avanzato-hom
# Producao
SSH_PROD_HOST=201.45.120.30 # ou IP publico
SSH_PROD_USER=deploy
SSH_PROD_PATH=/var/www/avanzato
1.4 Configurar chave SSH (se ainda nao tiver)
# Gerar chave
ssh-keygen -t ed25519 -C "dev@avanzato" -f ~/.ssh/id_ed25519
# Copiar para o servidor de homologacao
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@SEU_SERVIDOR_HOM
# Copiar para o servidor de producao
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@SEU_SERVIDOR_PROD
2. Desenvolvimento Diario
2.1 Iniciar servidor local
bash scripts/dev.sh start
# ou
npm run dev
Acesse: http://localhost:5173
- Hot reload funciona automaticamente
- Mautic/Google Ads/Facebook Pixel estao em modo simulacao
- Edite qualquer arquivo
.tsxe veja a mudanca ao vivo
2.2 Comandos uteis durante desenvolvimento
# Ver ajuda completa
bash scripts/dev.sh help
# Build para homologacao
bash scripts/dev.sh build-hom
# Preview do build (para testar antes de deploy)
bash scripts/dev.sh preview
# Limpar caches quando algo estranho acontecer
bash scripts/dev.sh clean
3. Deploy para Homologacao
Metodo 1: Script local (rapido)
# 1. Build
bash scripts/dev.sh build-hom
# 2. Deploy
bash scripts/dev.sh deploy-hom
Metodo 2: Git push (CI/CD)
# Adicionar remote do Gitea (faca uma vez)
git remote add homolog ssh://git@SEU_SERVIDOR_HOM:22/gitea/avanzato-site.git
# Sempre que quiser deployar
git add .
git commit -m "descricao da mudanca"
git push homolog main
O Gitea vai executar o pipeline automaticamente e deployar.
4. Deploy para Producao
ATENCAO: Sempre teste em homologacao primeiro!
# 1. Build de producao
bash scripts/dev.sh build
# 2. Deploy (pede confirmacao)
bash scripts/dev.sh deploy-prod
# Digite 'sim' para confirmar
5. Estrutura de Comandos
| Comando | O que faz | URL |
|---|---|---|
bash scripts/dev.sh start |
Servidor dev local | http://localhost:5173 |
bash scripts/dev.sh build |
Build producao | - |
bash scripts/dev.sh build-hom |
Build homologacao | - |
bash scripts/dev.sh preview |
Preview do build | http://localhost:4173 |
bash scripts/dev.sh deploy-hom |
Deploy homologacao | https://homologacao.avanzato.com.br |
bash scripts/dev.sh deploy-prod |
Deploy producao | https://avanzato.com.br |
bash scripts/dev.sh clean |
Limpa caches | - |
bash scripts/dev.sh help |
Ajuda | - |
6. Checklist antes de cada deploy
Homologacao
- Testei localmente (
npm run dev) - Build funciona (
bash scripts/dev.sh build-hom) - Nao ha erros no console do navegador
Producao
- Testei em homologacao
- Aprovado pelo time
- Build de producao (
bash scripts/dev.sh build) - Backup esta funcionando no servidor
7. Solucao de Problemas
Erro: "Cannot find module"
npm install
Erro: "dist/ nao encontrado"
bash scripts/dev.sh build
Erro: "Permission denied" no deploy
# Verificar SSH
ssh deploy@SEU_SERVIDOR "echo OK"
# Se nao funcionar, recopiar chave
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@SEU_SERVIDOR
Site nao carrega depois do deploy
# Verificar no servidor
ssh deploy@SEU_SERVIDOR "ls -la /var/www/avanzato"
ssh deploy@SEU_SERVIDOR "sudo systemctl status nginx"
8. Dicas
- Nunca edite diretamente no servidor - Sempre edite local e deploy
- Sempre teste em homolog primeiro - Antes de ir pra prod
- Commits frequentes - Facilita rollback se algo der errado
- Mantenha o .env.local seguro - Nunca commite este arquivo