Deployment - Processos e Boas Práticas
Processos gerais de deploy, validação, backup e boas práticas para deploy em produção.
Última Atualização: 2026-01-23
Quando Usar
Aplicar esta skill quando:
- Fazer deploy em servidores de produção
- Configurar CI/CD
- Validar antes de deploy
- Fazer backup antes de mudanças críticas
- Documentar processos de deploy
- Configurar SSH, Docker, Nginx em servidores
Princípios Core
1. Validação Obrigatória Antes de Deploy
SEMPRE validar antes de fazer deploy:
- ✅ Testar em ambiente de desenvolvimento primeiro
- ✅ Verificar migrations/alterações de banco
- ✅ Verificar variáveis de ambiente
- ✅ Verificar dependências e serviços
- ✅ Verificar health checks configurados
- ✅ Verificar logs de desenvolvimento
2. Backup Antes de Mudanças Críticas
SEMPRE fazer backup antes de:
- Aplicar migrations
- Atualizar versões de dependências críticas
- Modificar configurações de banco de dados
- Deploy de features grandes
- Mudanças em infraestrutura
Processo de Backup:
# Banco de dados
docker exec <db-container> pg_dump -U <user> <database> > backup_$(date +%Y%m%d).sql
# Arquivos media/static
tar -czf media_backup_$(date +%Y%m%d).tar.gz media/
3. Documentação de Mudanças
SEMPRE documentar:
- Mudanças importantes em deploy
- Problemas encontrados e soluções
- Configurações específicas do servidor
- Processos de rollback (se necessário)
4. Testar em Desenvolvimento Primeiro
NUNCA fazer deploy direto em produção:
- ✅ Testar localmente primeiro
- ✅ Testar em ambiente de staging (se disponível)
- ✅ Validar todos os serviços
- ✅ Verificar logs e health checks
Processos de Deploy
Deploy via Docker Compose
Seguir skill: skills/infrastructure/docker-execution/SKILL.md
Processo:
- Verificar Makefile primeiro (seguir
skills/infrastructure/makefile/SKILL.md)
- Executar comandos via Makefile
- Verificar logs após deploy
- Validar health checks
Comandos típicos:
# Via Makefile (preferencial)
make up-prod
make migrate
make health
# Ou direto (se Makefile não tem)
docker compose -f docker-compose.prod.yml up -d --build
Deploy via SSH
Processo:
- Conectar via SSH
- Navegar para diretório do projeto
- Pull das mudanças (se necessário)
- Executar deploy via Makefile ou Docker Compose
- Verificar logs e status
Exemplo:
ssh root@<server-ip>
cd /apps/<project>
git pull origin main
make up-prod
make logs
Deploy via CI/CD
Processo:
- Push para branch de produção
- CI/CD detecta mudanças
- Build automático
- Deploy automático
- Health checks automáticos
- Notificações (se configurado)
Plataformas de Deploy
Hostinger (VPS)
Características:
- Servidores VPS com Docker
- Deploy via SSH + Docker Compose
- Configuração manual de Nginx e SSL
- Credenciais: Carregar de
config/.env.passwords
Processo:
- SSH no servidor
- Navegar para diretório do projeto
- Executar deploy via Makefile
- Configurar Nginx (se necessário)
- Configurar SSL (se necessário)
Render.com
Características:
- Blueprint-based deployment
- Ambiente gerenciado
- Deploy automático via Git push
- API Key: Carregar de
config/.env.passwords como RENDER_API_KEY
Processo:
- Push para branch configurada
- Render detecta mudanças automaticamente
- Build e deploy de todos os serviços
- Health checks automáticos
Vercel
Características:
- Deploy de frontends e serverless
- Configuração via CLI ou Dashboard
- Deploy automático via Git push
Processo:
- Configurar projeto no Vercel
- Conectar repositório
- Push para branch configurada
- Deploy automático
Validação Pós-Deploy
SEMPRE verificar após deploy:
Health Checks
curl http://<server>/health
make health
Logs Iniciais
make logs
docker compose logs --tail=100
Status dos Serviços
make ps
docker compose ps
Acesso à Aplicação
- Verificar se aplicação carrega
- Verificar endpoints principais
- Verificar admin/dashboard (se aplicável)
Rollback
Processo de rollback:
Identificar versão anterior
git log --oneline
git checkout <commit-anterior>
Restaurar backup (se necessário)
docker exec -i <db-container> psql -U <user> <database> < backup.sql
Redeploy
make up-prod
Validar
make health
make logs
Troubleshooting
Serviço não inicia
- Verificar logs:
make logs ou docker compose logs
- Verificar variáveis de ambiente
- Verificar conexão com banco
- Verificar dependências (Redis, etc)
- Verificar portas disponíveis
Migration falha
- Verificar conexão com banco
- Verificar permissões
- Verificar estado atual das migrations
- Fazer backup antes de corrigir
- Verificar logs de migration
Health check falha
- Verificar se serviço está rodando
- Verificar porta e endpoint
- Verificar logs do serviço
- Verificar dependências (Redis, DB)
Checklist de Deploy
Antes do Deploy
Durante o Deploy
Após o Deploy
Referências
- Docker Execution:
skills/infrastructure/docker-execution/SKILL.md
- Makefile:
skills/infrastructure/makefile/SKILL.md
- Docker Compose:
skills/infrastructure/docker-compose/SKILL.md
- Scripts Temporários:
skills/workflow/scripts-logs/SKILL.md
- Git/Commits:
skills/workflow/commit-workflow/SKILL.md
Última Atualização: 2026-01-23