3.4 KiB
3.4 KiB
CI/CD - Avanzato Tecnologia
Estrutura do Pipeline
Push para main/master
|
v
+------------------+ +------------------+ +------------------+
| BUILD | --> | PRESERVAR ASSETS | --> | DEPLOY |
| | | | | |
| - Checkout | | - Logo | | - SCP para VPS |
| - npm install | | - Imagens | | - Limpar cache |
| - npm run build | | - Favicon | | - Notificar |
+------------------+ +------------------+ +------------------+
Configurar Secrets no GitHub
Va em: Settings > Secrets and variables > Actions > New repository secret
| Secret | Descricao | Exemplo |
|---|---|---|
SSH_HOST |
IP ou dominio do servidor | 201.45.120.30 ou avanzato.com.br |
SSH_USER |
Usuario SSH | root ou deploy |
SSH_PRIVATE_KEY |
Chave SSH privada | -----BEGIN OPENSSH PRIVATE KEY-----... |
SSH_PORT |
Porta SSH (opcional) | 22 |
DEPLOY_PATH |
Caminho no servidor | /var/www/avanzato |
STAGING_PATH |
Caminho staging (opcional) | /var/www/avanzato-staging |
Como gerar a chave SSH:
# No seu computador (NAO no servidor):
ssh-keygen -t ed25519 -C "github-actions" -f ~/.ssh/github_actions
# Copiar publica para o servidor:
ssh-copy-id -i ~/.ssh/github_actions.pub root@SEU_SERVIDOR
# Copiar privada para o GitHub Secret:
cat ~/.ssh/github_actions
# Cole o conteudo inteiro no secret SSH_PRIVATE_KEY
Estrutura de Branches
main/master --> Deploy automatico para producao
staging --> Deploy automatico para staging (se existir)
feature/* --> Apenas build (sem deploy)
hotfix/* --> Apenas build (sem deploy)
Como Funciona
Cenario 1: Deploy Automatico
1. Voce faz push para main
2. GitHub Actions executa automaticamente
3. Build + Deploy em ~2 minutos
4. Site atualizado!
Cenario 2: Deploy Manual
1. Va em Actions > Build e Deploy
2. Clique "Run workflow"
3. Escolha: production ou staging
4. Clique "Run"
Cenario 3: Pull Request
1. Cria PR para main
2. CI executa build (testa se compila)
3. NAO faz deploy
4. Merge aprovado? Deploy automatico!
Assets Customizados (Logo, Imagens)
Para preservar assets apos o deploy automatico:
1. Commitar assets no repositorio
git add custom-assets/logo/logo.png
git add custom-assets/images/
git commit -m "Adiciona logo e imagens customizadas"
git push origin main
2. O pipeline faz sozinho
O workflow executa automaticamente:
bash scripts/preserve-assets.sh dist/
Monitore os Deploys
- GitHub Actions: https://github.com/SEU_USUARIO/avanzato-site/actions
- Status: Check verde = sucesso, X vermelho = falha
- Logs: Clique no workflow para ver detalhes
Troubleshooting
Deploy falhou?
- Verifique os secrets: Settings > Secrets > Actions
- Verifique a chave SSH:
ssh -i ~/.ssh/github_actions root@SEU_SERVIDOR - Verifique permissoes: O usuario precisa de acesso de escrita no DEPLOY_PATH
- Verifique logs: Actions > Clique no workflow > Veja o passo que falhou
Assets nao preservados?
- Verifique se
custom-assets/esta no repositorio - Verifique se os arquivos estao comitados:
git ls-files custom-assets/ - Verifique os logs do passo "Preservar assets customizados"
Configurado em: Maio 2026