Atualiza site via novo pacote
This commit is contained in:
+250
@@ -0,0 +1,250 @@
|
||||
# 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+
|
||||
|
||||
```bash
|
||||
# Instalar via Homebrew
|
||||
brew install node@20
|
||||
|
||||
# Verificar
|
||||
node -v # v20.x.x
|
||||
npm -v # 10.x.x
|
||||
```
|
||||
|
||||
### 1.2 Instalar dependencias
|
||||
|
||||
```bash
|
||||
cd /Users/avanzato/Projetos/Avanzato/avanzato-site/app
|
||||
npm install
|
||||
```
|
||||
|
||||
### 1.3 Configurar acesso aos servidores
|
||||
|
||||
```bash
|
||||
# Copiar template
|
||||
cp scripts/.env.local.example scripts/.env.local
|
||||
|
||||
# Editar com seus dados
|
||||
nano scripts/.env.local
|
||||
```
|
||||
|
||||
Conteudo do `.env.local`:
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# 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
|
||||
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 `.tsx` e veja a mudanca ao vivo
|
||||
|
||||
### 2.2 Comandos uteis durante desenvolvimento
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# 1. Build
|
||||
bash scripts/dev.sh build-hom
|
||||
|
||||
# 2. Deploy
|
||||
bash scripts/dev.sh deploy-hom
|
||||
```
|
||||
|
||||
### Metodo 2: Git push (CI/CD)
|
||||
|
||||
```bash
|
||||
# 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!**
|
||||
|
||||
```bash
|
||||
# 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"
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### Erro: "dist/ nao encontrado"
|
||||
```bash
|
||||
bash scripts/dev.sh build
|
||||
```
|
||||
|
||||
### Erro: "Permission denied" no deploy
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Verificar no servidor
|
||||
ssh deploy@SEU_SERVIDOR "ls -la /var/www/avanzato"
|
||||
ssh deploy@SEU_SERVIDOR "sudo systemctl status nginx"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. Dicas
|
||||
|
||||
1. **Nunca edite diretamente no servidor** - Sempre edite local e deploy
|
||||
2. **Sempre teste em homolog primeiro** - Antes de ir pra prod
|
||||
3. **Commits frequentes** - Facilita rollback se algo der errado
|
||||
4. **Mantenha o .env.local seguro** - Nunca commite este arquivo
|
||||
Reference in New Issue
Block a user