Files
enduro-trails/docs/work-items/ET-011/14-deploy-log.md
claude-bot 4b529004ba
All checks were successful
CI / lint (pull_request) Successful in 4s
CI / test (pull_request) Successful in 7s
CI / build (pull_request) Successful in 2s
deployer(ET-011): tag v0.0.3, deploy FAILED — infra blocker on test host
PR #21 merged to main and tag v0.0.3 pushed, but docker-compose roll on
test host did not happen: /home/slin/bin/enduro-deploy-hook.sh exits with
"Permission denied" on /var/log/enduro-trails/deploy-hook.log
(root-owned, no NOPASSWD sudo for slin). Healthcheck/smoke/rollback all
skipped — new code is on main but old image still serves traffic.

Action for ops: see docs/work-items/ET-011/14-deploy-log.md
("Что нужно от ops, чтобы доехать"). After fix, re-run deploy hook —
PR/tag do not need to be redone.
2026-06-03 23:11:31 +00:00

72 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Deploy Log — ET-011
- **Version (tag):** v0.0.3
- **Date:** 2026-06-03 23:08 UTC
- **PR:** #21 (merged at 2026-06-04T02:08:45+03:00, merge commit `b21f543289a6d46711710068a7528c8749cf2f0f`)
- **Environment:** test (https://openclaw.mva154.duckdns.org/enduro/)
- **Healthcheck:** NOT RUN (deploy did not start)
- **Smoke:** NOT RUN (deploy did not start)
- **Status:** FAILED — infrastructure blocker
## Что было сделано
1. PR #21 (`feat(gps-tracks): GPX download from public track popup (ET-011)`)
успешно смерджен в `main` через Gitea API (`Do=merge`, merge commit
`b21f543289a6d46711710068a7528c8749cf2f0f`).
2. Создан и запушен тег `v0.0.3` (от `origin/main`,
инкремент patch от `v0.0.2`).
## Что НЕ сделано (и почему)
3. **Deploy hook упал на старте** при первой записи в лог:
```
/home/slin/bin/enduro-deploy-hook.sh: line 15: \
/var/log/enduro-trails/deploy-hook.log: Permission denied
DEPLOY_RC=1
```
Причина: каталог `/var/log/enduro-trails/` принадлежит `root:root`
(`drwxr-xr-x`), пользователь `slin` (uid=1000) не имеет права на запись.
Хук-скрипт (`set -e`, строка 15: `echo "..." >> $LOG`) падает до того,
как успевает выполнить `git pull` или `docker compose up -d app`.
У `slin` нет беспарольного `sudo` (`sudo -n -l` → `a password is
required`), поэтому фикс прав на хосте недоступен из роли deployer.
Файла `/home/slin/repos/enduro-trails/.deploy-prev-image` нет — это
первый запуск хука; никакой деплой через него ещё не отрабатывал.
4. **Healthcheck / smoke** не запускались: новый образ не катился,
контейнер `enduro-trails-app-1` продолжает работать на старом образе
(Up 37 hours, unhealthy ещё до начала этого деплоя).
5. **Rollback** не выполнялся: новый код не задеплоен, откатывать нечего.
Запуск `--rollback` бессмысленен (нет `.deploy-prev-image`) и упал бы
на той же permission denied.
## Текущее состояние production (test env)
- `https://openclaw.mva154.duckdns.org/enduro/` → HTTP 200 (старый образ).
- На `main` лежит код ET-011 (commit `b21f543`) + тег `v0.0.3`, но в
контейнере он не запущен.
## Что нужно от ops, чтобы доехать
Любой из вариантов разблокирует деплой:
- `sudo chown slin:slin /var/log/enduro-trails` (или `chmod 0777`), либо
- поправить `/home/slin/bin/enduro-deploy-hook.sh`, чтобы `LOG`
указывал на каталог, в который `slin` может писать
(например `/home/slin/var/log/enduro-trails/deploy-hook.log`), либо
- выдать `slin` `NOPASSWD` на `enduro-deploy-hook.sh` и обернуть его
в `sudo`.
После фикса повторно дернуть `bash /home/slin/bin/enduro-deploy-hook.sh`
от имени `slin` — версия на `main` уже та, что должна катиться (тег
`v0.0.3`), пересоздавать PR/тег не нужно.
## Артефакты
- Tag: `v0.0.3` (`origin/main` @ `b21f543`)
- PR: #21 (merged)
- Deploy attempt timestamp: 2026-06-03 23:08 UTC