배포/프리뷰 문제 해결
현재 deploy status, logs, doctor, axhub.yaml 오류를 기준으로 문제를 좁히는 방법
먼저 볼 것
axhub deploy status <deployment-id> --app <app> --json
axhub deploy logs <deployment-id> --app <app> --limit 200
axhub deploy doctor --app <app>status의 failure reason, logs의 마지막 에러, doctor의 인증/endpoint/server-version 결과를 함께 봐야 해요.
자주 나는 원인
| 증상 | 확인할 것 |
|---|---|
| Dockerfile not found | root Dockerfile, Compose 파일, 또는 axhub.yaml pinned start/manifest |
| compose file not found | build.deploy_method: compose와 build.compose_file 경로 |
| manifest parse/validation | 8 KiB 이하, runtime.port 1ci.timeout 1ci.commands 최대 10개 |
| required env missing | axhub.yaml env.required와 axhub env list --app <app> stage가 맞는지 |
| GitHub repo/branch not found | axhub apps git status --app <app>, GitHub App installation/repo 권한 |
| 접근은 되지만 사용자 정보 없음 | X-AxHub-* header를 서버 사이드에서 읽는지, email/name base64 decode를 했는지 |
롤백/복구
axhub deploy rollback --app <app> --from-deployment <deployment-id> --execute
axhub deploy cancel <deployment-id> --app <app> --execute
axhub apps suspend --app <app> --executeapps resume 후에는 자동 redeploy가 아니므로 다시 deploy create를 실행하세요.