🚀 Guia Rápido CI/CD - alessiojr.com
📦 O que foi criado
.gitlab-ci.yml- Pipeline GitLab CI/CDdeploy.sh- Script para deploy manual via SSHtest-build.sh- Script para testar build localmente.gitlab-ci-setup.md- Guia completo de configuração
⚡ Início Rápido
Parte 1: Testar o Build Localmente
# Testa se o build funciona
./test-build.sh
# Ou manualmente:
quarto renderParte 2: Configurar Variáveis no GitLab
- Acesse: Settings > CI/CD > Variables
- Adicione estas variáveis:
SSH_PRIVATE_KEY → Conteúdo completo da chave privada (do pen)
SSH_HOST → usuario@servidor.com (ou IP)
SSH_PORT → 22 (ou outra porta)
DEPLOY_PATH → /var/www/html (caminho no servidor)
Como obter a chave SSH privada:
# Se a chave está no pen drive
cat /caminho/do/pen/id_rsa
# Copie TODO o conteúdo (incluindo -----BEGIN... e -----END...)Parte 3: Testar o Pipeline no GitLab
Faça commit do
.gitlab-ci.yml:git add .gitlab-ci.yml git commit -m "Adiciona CI/CD pipeline" git pushVá em CI/CD > Pipelines no GitLab
O stage
test:buildserá executado automaticamenteVerifique se passou ✅
Parte 4: Fazer Deploy
Opção A: Via GitLab (Recomendado) 1. Faça merge para main ou master 2. Vá em CI/CD > Pipelines 3. Clique em ▶️ Play no stage deploy:production
Opção B: Manual (via script)
# Usando variáveis de ambiente
export SSH_HOST="usuario@servidor.com"
export DEPLOY_PATH="/var/www/html"
export SSH_KEY="/caminho/do/pen/id_rsa"
./deploy.sh
# Ou passando argumentos
./deploy.sh usuario@servidor.com /var/www/html 22🔧 Configuração do Servidor Web
Nginx (Exemplo)
server {
listen 80;
server_name alessiojr.com www.alessiojr.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
# Cache para assets estáticos
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
Apache (Exemplo)
<VirtualHost *:80>
ServerName alessiojr.com
ServerAlias www.alessiojr.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>📋 Checklist de Configuração
🐛 Troubleshooting Rápido
| Problema | Solução |
|---|---|
| Build falha | Execute ./test-build.sh localmente para ver erros |
| SSH não conecta | Teste: ssh -i /caminho/chave usuario@servidor |
| Permissão negada | chmod 755 /var/www/html no servidor |
| Site não aparece | Verifique logs do servidor web |
📚 Próximos Passos
- ✅ Teste o build localmente
- ✅ Configure variáveis no GitLab
- ✅ Teste o pipeline
- ✅ Configure servidor web
- ✅ Faça primeiro deploy
- ✅ Automatize (opcional: deploy automático em
main)