runner debug last-error
Lê /opt/runner/logs/deploy-events.jsonl, encontra o registro de falha de
deploy mais recente para a app e o exibe: versão tentada, timestamp e mensagem
completa de erro. Disponível desde v2.30.1 (Issue #16).
Use quando: runner fetch --deploy terminou com falha e as últimas linhas
do output mostraram "Run: runner debug last-error
Sintaxe
runner debug last-error [OPTIONS] <APP>Flags
| Flag | Default | Descrição |
|---|---|---|
--json |
— | Atalho para --output json |
-o, --output <FORMAT> |
human |
Formato de saída: human, json, yaml |
--insecure |
— | Bypassa guards de segurança (gera banner e audit log) |
-h, --help |
— | Exibe ajuda |
Exemplo
$ runner debug last-error meu-app
Last DeployFailure for meu-app:
│ version v1.4.2
│ timestamp 2026-05-27T14:32:11Z
│ error healthcheck failed after 3 retries (GET /health → 502 Bad Gateway)
│ container exited with code 1 during startup
│ see: docker logs meu-app-v1.4.2-blueOutput JSON:
$ runner debug last-error meu-app --json{
"app": "meu-app",
"version": "v1.4.2",
"timestamp": "2026-05-27T14:32:11Z",
"error": "healthcheck failed after 3 retries (GET /health → 502 Bad Gateway)\ncontainer exited with code 1 during startup\nsee: docker logs meu-app-v1.4.2-blue",
"event": "DeployFailure"
}Como o runner expõe este comando
Durante fetch --deploy, quando um deploy falha, o runner imprime na saída:
Deploy FAILED for meu-app v1.4.2.
Next steps:
runner debug last-error meu-app # ver erro completo
runner rollback meu-app # voltar para versão anteriorO comando debug last-error é o subcomando last-error dentro do grupo debug,
não um comando de nível superior chamado debug-last-error.
Arquivo de log subjacente
O runner grava cada evento de deploy (sucesso e falha) em:
/opt/runner/logs/deploy-events.jsonldebug last-error faz tail nesse arquivo e retorna o registro mais recente
com "event": "DeployFailure" para a app solicitada. Para inspecionar o
histórico completo manualmente:
grep '"app":"meu-app"' /opt/runner/logs/deploy-events.jsonl \
| jq 'select(.event == "DeployFailure")'Quando não há falha registrada
$ runner debug last-error meu-app
No DeployFailure found for meu-app.Isso indica que a app nunca falhou um deploy neste servidor, ou que o log foi
rotacionado. Verifique com runner status meu-app se o estado atual é esperado.
Erros comuns
app_not_found— app não registrada neste servidor; verifique comrunner list.log_not_found—/opt/runner/logs/deploy-events.jsonlausente (runner antigo ou instalação limpa); nenhum deploy foi executado ainda neste servidor.
Veja também
- `runner rollback` — reverter para a versão anterior após falha
- `runner logs` — logs do container em execução
- `runner status` — estado atual da app
- `runner fetch` — ciclo de fetch e deploy automático