docs(dev): контур — GitLab платформы, merge request вместо PR

Refs #34

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
This commit is contained in:
Andrey Epifancev 2026-10-06 16:01:05 +04:00
parent 43eefb917b
commit 6a3da7c376

View File

@ -1,6 +1,7 @@
# Перенос сервисов АРМ КА в контур банка: гайд для разработчика
Разработка ведётся **снаружи** (workspace `awp-ca`, Gitea проекта). В контур банка (Gitea платформы РАИСА и её CI/CD)
Разработка ведётся **снаружи** (workspace `awp-ca`, Gitea проекта). В контур банка (GitLab платформы РАИСА и его CI/CD;
Gitea в контуре нет)
уезжают только три сервисных репозитория — `arm-core`, `tabular-parser`, `scan-gateway` — **снимками дерева, без
истории**. Репозитории `docs` и `fixtures` в контур не переносятся: решение владельца 06.10.2026. Этот документ — что
именно уезжает, чего в платформе нет, как подготовить снимок скриптом и как его положить в контур.
@ -78,7 +79,8 @@ docs/scripts/prepare-contour-snapshot.sh scan-gateway /tmp/contour
## 4. Как положить снимок в контур
Репозитории контура — по одному на сервис, имена как снаружи. Первый перенос и каждый следующий делаются одинаково:
Репозитории контура — проекты GitLab, по одному на сервис, имена как снаружи. Первый перенос и каждый следующий делаются
одинаково (вместо PR в GitLab — merge request, в остальном git тот же):
```bash
git clone <url контура>/arm-core contour-arm-core
@ -87,7 +89,7 @@ rsync -a --delete --exclude .git /tmp/contour/arm-core/ ./ # дерев
git status --short # прочитать diff: он должен совпадать с изменениями снаружи
git add -A
git commit -m "sync: arm-core@1d7f2c8 (2026-10-06)" # хеш и дата — из SNAPSHOT.md
git push -u origin sync/arm-core-1d7f2c8 # дальше PR/мерж по регламенту контура
git push -u origin sync/arm-core-1d7f2c8 # дальше merge request и мерж по регламенту GitLab контура
```
`--delete` обязателен: иначе файлы, удалённые или переименованные снаружи, останутся в контуре. Если в контуре делали
@ -97,7 +99,7 @@ git push -u origin sync/arm-core-1d7f2c8 # дальш
его копия схемы должна быть не старше копий сервисов). Если снаружи поднималась версия контракта (`api/contracts/*.json`,
`CONTRACT_VERSION` в `api/src/contract/common.py`), переносить все три сервиса одним заходом.
## 5. Проверка в контуре перед PR
## 5. Проверка в контуре перед merge request
```bash
make venv # python3.11 -m venv + pip через Nexus (вместо setup/setup.sh; тот ставит только прод-зависимости)
@ -163,7 +165,7 @@ git diff <коммит sync> HEAD -- . ':!SNAPSHOT.md' > /tmp/contour-arm-core.p
2. Правки из контура (раздел 7) возвращены наружу и слиты.
3. `prepare-contour-snapshot.sh` по каждому сервису; скрипт завершился словами «снимок готов».
4. В контуре: клон, ветка, `rsync --delete`, просмотр `git status`, коммит `sync: <repo>@<hash> (<дата>)`, `make venv`,
`make check` (пропуски — только из раздела 5), для arm-core `make web-check`, PR по регламенту контура.
`make check` (пропуски — только из раздела 5), для arm-core `make web-check`, merge request по регламенту GitLab контура.
5. Порядок мержа при смене версии контракта: arm-core → tabular-parser → scan-gateway.
6. Снаружи в `context/09-delivery-plan.md` или в issue синхронизации отметить, какие хеши перенесены.