Compare commits
3 Commits
v0.0.1
...
fix/deploy
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2bf99d05f | ||
| 506ef2a6dc | |||
| 5769217cc5 |
@@ -59,10 +59,17 @@ git push origin $NEW_TAG
|
|||||||
|
|
||||||
### 3. Deploy
|
### 3. Deploy
|
||||||
```bash
|
```bash
|
||||||
cd /repos/enduro-trails
|
# Deploy через SSH на хост (orchestrator имеет SSH ключ)
|
||||||
git fetch origin && git checkout main && git pull origin main
|
DEPLOY_USER=${DEPLOY_SSH_USER:-slin}
|
||||||
# Deploy зависит от проекта. Для enduro-trails:
|
DEPLOY_HOST=${DEPLOY_SSH_HOST:-127.0.0.1}
|
||||||
# Файлы уже на месте после merge в main, nginx обслуживает static
|
HOOK=${DEPLOY_HOOK_SCRIPT:-/home/slin/bin/enduro-deploy-hook.sh}
|
||||||
|
|
||||||
|
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${DEPLOY_USER}@${DEPLOY_HOST} "bash ${HOOK}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Deploy hook failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Deploy OK"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Healthcheck (до 60 сек)
|
### 4. Healthcheck (до 60 сек)
|
||||||
|
|||||||
11
CHANGELOG.md
11
CHANGELOG.md
@@ -3,6 +3,17 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
|
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
|
||||||
|
|
||||||
|
## [v0.0.1] — 2026-06-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- ET-008: GPS-треки с публичных платформ на карте — новый модуль `src/web/gps_tracks.js`
|
||||||
|
с отображением публичных GPS-треков (OSM Traces, enduro_russia, ttrails) в виде
|
||||||
|
MVT-тайлов (z 8–11) и GeoJSON (z ≥ 12); фильтрация по активности и источнику,
|
||||||
|
попап с мета-данными трека, z-order ниже личных GPX-треков (AC-10).
|
||||||
|
Backend: FastAPI-пакет `src/api/gps_tracks/` (endpoint, MVT, LRU-кэш, дедупликация),
|
||||||
|
миграция `migrations/gps_tracks_001_init.sql`, pipeline-скрипт `scripts/gps_collect.py`,
|
||||||
|
Docker-сервис `gps-collector`. PR #12, tag v0.0.1.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ COPY src/api/requirements.txt .
|
|||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
COPY src/api/ ./src/api/
|
COPY src/api/ ./src/api/
|
||||||
COPY src/web/ ./src/web/
|
COPY src/web/ ./src/web/
|
||||||
|
COPY scripts/ ./scripts/
|
||||||
|
COPY migrations/ ./migrations/
|
||||||
|
COPY docs/ ./docs/
|
||||||
ENV STATIC_DIR=/app/src/web
|
ENV STATIC_DIR=/app/src/web
|
||||||
ENV PORT=5556
|
ENV PORT=5556
|
||||||
EXPOSE 5556
|
EXPOSE 5556
|
||||||
|
|||||||
52
docs/work-items/ET-008/14-deploy-log.md
Normal file
52
docs/work-items/ET-008/14-deploy-log.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Deploy Log — ET-008
|
||||||
|
|
||||||
|
- **Version:** v0.0.1
|
||||||
|
- **Date:** 2026-06-01 14:32 UTC
|
||||||
|
- **PR:** #12
|
||||||
|
- **Branch:** feature/ET-008-gps
|
||||||
|
- **Environment:** test (https://openclaw.mva154.duckdns.org/enduro/)
|
||||||
|
- **Merge commit:** 04d9d3e
|
||||||
|
- **Healthcheck:** PASS (HTTP 200, attempt 1/12)
|
||||||
|
- **Smoke:** PARTIAL PASS
|
||||||
|
- **Status:** SUCCESS (frontend deployed; backend service pending)
|
||||||
|
|
||||||
|
## Smoke results
|
||||||
|
|
||||||
|
| Check | Result | Notes |
|
||||||
|
|---|---|---|
|
||||||
|
| `GET /enduro/` | ✅ 200 | index.html |
|
||||||
|
| `GET /enduro/app.js` | ✅ 200 | core frontend |
|
||||||
|
| `GET /enduro/app.css` | ✅ 200 | styles |
|
||||||
|
| `GET /enduro/gps_tracks.js` | ✅ 200 | **новый модуль ET-008** |
|
||||||
|
| `GET /enduro/units.js` | ✅ 200 | |
|
||||||
|
| `GET /enduro/gpx.js` | ✅ 200 | |
|
||||||
|
| `GET /enduro/api/health` | ✅ 200 | `{"status":"ok","db_exists":true}` |
|
||||||
|
| `GET /enduro/api/gps-tracks/health` | ⚠️ 404 | backend-сервис `gps-collector` не поднят |
|
||||||
|
|
||||||
|
## Что задеплоено
|
||||||
|
|
||||||
|
- **Frontend:** `src/web/gps_tracks.js` — новый модуль GPS-треков (588 строк)
|
||||||
|
- **Frontend:** изменения в `app.js`, `app.css`, `index.html` (чекбокс, фильтр-панель)
|
||||||
|
- **Backend:** `src/api/gps_tracks/` — пакет API (endpoint, mvt, db, dedup, models, sources)
|
||||||
|
- **Migration:** `migrations/gps_tracks_001_init.sql`
|
||||||
|
- **Scripts:** `scripts/gps_collect.py` — pipeline сбора треков
|
||||||
|
- **Config:** `config/gps_sources.yaml`, `config/gps_regions.yaml`
|
||||||
|
- **Docker:** новый сервис `gps-collector` в `docker-compose.yml`
|
||||||
|
- **Tests:** 141 pytest + 22 JS unit (все зелёные на ветке)
|
||||||
|
|
||||||
|
## Pending actions
|
||||||
|
|
||||||
|
1. **Backend service start:** запустить `docker compose up -d gps-collector` на хосте
|
||||||
|
для активации `/api/gps-tracks/*` эндпойнтов.
|
||||||
|
2. **E2E Playwright:** после старта сервиса выполнить E-01, E-02, E-10…E-12.
|
||||||
|
3. **Initial pipeline run:** `docker compose run --rm gps-collector python scripts/gps_collect.py`
|
||||||
|
для первичной загрузки OSM-треков.
|
||||||
|
4. **P2 follow-up:** F-06 (bbox area validation), F-07 (default sources), F-08 (LRU cache)
|
||||||
|
— отдельный PR.
|
||||||
|
|
||||||
|
## Test report reference
|
||||||
|
|
||||||
|
`docs/work-items/ET-008/13-test-report.md` v3 — verdict: `stage:ready-to-deploy`
|
||||||
|
- 141 pytest PASS
|
||||||
|
- 22 JS unit PASS
|
||||||
|
- All P0/P1 findings resolved (F-01…F-05)
|
||||||
Reference in New Issue
Block a user