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 main

O 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 list

Deve listar minha-app com status registered.

3. Deploy

runner deploy minha-app

O 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-app

5. 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 --deploy

Troubleshooting

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.yml

Health 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/health

Rollback

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

Próximos passos

By Borlot.com.br on 27/05/2026