Seu primeiro deploy
5 passos. Assume Runner instalado (ver Instalar) e uma
app com Dockerfile num repo Git público (ou privado com token).
1. Registrar a app
runner add --repo github-user/minha-app --branch mainO Runner clona o repo em /data/apps/minha-app/pull/, gera o
.deploy.yml via wizard (pergunta nome do projeto e domínio; resto vem
de defaults inferidos do Dockerfile) e salva o state.
2. Verificar
runner listDeve listar minha-app com status registered.
3. Deploy
runner deploy minha-appO Runner:
- Faz build da imagem (
Dockerfile) - Sobe container novo
- Roda health check (probe HTTP/TCP)
- Substitui container antigo (se houver)
Você verá [OK] minha-app deployed: <commit> no fim.
4. Acessar
Se você configurou domínio durante o wizard, a app está em
https://meu-dominio.com. Senão, descubra a porta:
runner status minha-app5. Auto-deploy via cron
Pra que o Runner detecte novos commits automaticamente:
echo '*/5 * * * * /usr/local/bin/runner fetch --deploy >> /var/log/runner-fetch.log 2>&1' \
| sudo crontab -Agora a cada 5 minutos o Runner pula commits novos e deploya. Modo GitOps puro: push no Git = deploy.
Ciclo de release
Pra deployar uma nova versão, o fluxo normal é: desenvolver em dev, mergear
pra main com tag, e deixar o cron detectar o push (ou forçar manualmente):
git checkout dev
# ... commits ...
git push origin dev
git checkout main
git merge dev --no-ff -m "release: v1.1.0"
git tag -a v1.1.0 -m "Release v1.1.0"
git push origin main --tags
# Forçar deploy imediato em vez de esperar o cron:
runner fetch --deployTroubleshooting
Deploy não inicia — confira se a app está registrada e se o .deploy.yml
é válido:
runner list
runner validate --path /data/apps/minha-app/.deploy.ymlHealth check falha — inspecione o container e teste o endpoint por dentro:
docker logs minha-app_production_v1-0-0 --tail 50
docker exec minha-app_production_v1-0-0 curl -s http://localhost:8000/healthRollback
Se um deploy quebrar produção, volte pra versão anterior (ou uma específica):
runner rollback minha-app
runner rollback minha-app --version v1.0.0