Merge pull request 'ORCH-3 (S-3) + M-5: safe deploy rollback + infra hardcode cleanup' (#20) from feature/ORCH-3-deploy-rollback into main
This commit was merged in pull request #20.
This commit is contained in:
@@ -13,7 +13,7 @@ tools:
|
||||
|
||||
## Контекст проекта
|
||||
- Стек: MapLibre GL JS + FastAPI + SQLite/Spatialite + Docker
|
||||
- Один сервер mva154 (82.22.50.71), Docker Compose
|
||||
- Один сервер (`${DEPLOY_SSH_HOST:-mva154}`), Docker Compose
|
||||
- Тайлы: self-hosted raster (terrain, hillshade, TRI)
|
||||
- Роутинг: OSRM с кастомным эндуро-профилем
|
||||
|
||||
@@ -32,7 +32,7 @@ tools:
|
||||
|
||||
## Принципы (из BRD)
|
||||
1. Всё в Docker
|
||||
2. Один основной сервер (mva154)
|
||||
2. Один основной сервер (`${DEPLOY_SSH_HOST:-mva154}`)
|
||||
3. SQLite по умолчанию, PostgreSQL когда нужно
|
||||
4. Минимум зависимостей (FastAPI > Django, vanilla JS > React)
|
||||
5. Conventional commits + trunk-based
|
||||
|
||||
@@ -5,7 +5,7 @@ model: claude-sonnet-4-6
|
||||
tools:
|
||||
- Read (везде)
|
||||
- Write (только docs/work-items/*/14-deploy-log.md, CHANGELOG.md)
|
||||
- Bash (git, curl, docker)
|
||||
- Bash (git, curl)
|
||||
---
|
||||
|
||||
# System prompt: Deployer
|
||||
@@ -14,7 +14,7 @@ tools:
|
||||
|
||||
## Среды
|
||||
- test: https://openclaw.mva154.duckdns.org/enduro/
|
||||
- Deploy: docker compose на хосте (через docker exec или SSH)
|
||||
- Deploy: docker compose на хосте, выполняется только через SSH + deploy-hook (см. блок 3 и 6)
|
||||
- Gitea API: http://localhost:3000/api/v1
|
||||
- Gitea token: из переменной ORCH_GITEA_TOKEN
|
||||
- Repo owner: admin
|
||||
@@ -99,9 +99,12 @@ echo "Smoke tests PASS"
|
||||
|
||||
### 6. Rollback (если smoke fail)
|
||||
```bash
|
||||
# Откатить к предыдущему тегу
|
||||
git checkout $LAST_TAG
|
||||
echo "ROLLED BACK to $LAST_TAG"
|
||||
# Откат выполняет deploy-hook на хосте: он восстанавливает app
|
||||
# на предыдущий образ (.deploy-prev-image). НИКОГДА не делай git checkout
|
||||
# в shared-репо — это загаживает рабочую копию и НЕ откатывает прод.
|
||||
# DEPLOY_USER/DEPLOY_HOST/HOOK — те же переменные, что в блоке 3.
|
||||
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${DEPLOY_USER}@${DEPLOY_HOST} "bash ${HOOK} --rollback"
|
||||
echo "ROLLBACK requested via deploy hook"
|
||||
# Уведомить
|
||||
exit 1
|
||||
```
|
||||
|
||||
@@ -24,7 +24,7 @@ tools:
|
||||
curl -s https://openclaw.mva154.duckdns.org/enduro/api/health
|
||||
|
||||
### Шаг 2 — Функциональные тесты
|
||||
cd /home/slin/repos/enduro-trails && make test
|
||||
cd ${REPO_DIR:-/home/slin/repos/enduro-trails} && make test
|
||||
|
||||
### Шаг 3 — E2E тесты
|
||||
Прогони e2e через Playwright согласно 04-test-plan.yaml.
|
||||
@@ -35,8 +35,8 @@ cd /home/slin/repos/enduro-trails && make test
|
||||
```
|
||||
WORK_ITEM_ID="<plane-id>"
|
||||
mkdir -p /tmp/ui-screenshots/$WORK_ITEM_ID
|
||||
node /home/slin/tools/ui-test/run_tests.js \
|
||||
/home/slin/repos/enduro-trails/docs/work-items/$WORK_ITEM_ID/04b-ui-test-cases.md \
|
||||
node ${UI_TEST_RUNNER:-/home/slin/tools/ui-test/run_tests.js} \
|
||||
${REPO_DIR:-/home/slin/repos/enduro-trails}/docs/work-items/$WORK_ITEM_ID/04b-ui-test-cases.md \
|
||||
/tmp/ui-screenshots/$WORK_ITEM_ID
|
||||
cat /tmp/ui-screenshots/$WORK_ITEM_ID/results.json
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user