ci: publish backend images to Nexus #25

Open
opened 2026-09-17 20:29:25 +03:00 by codex-bot · 2 comments
Owner

Цель

Перевести публикацию backend image с Gitea Container Registry на nexus.ksv741.keenetic.pro/wealthledger/backend в существующем image.yml.

Объём

  • Использовать отдельные Nexus Actions secrets.
  • Сохранить version validation, immutable semver tags, OCI revision verification и container smoke.
  • Сохранить Gitea registry для отката.

Критерии готовности

  • Nexus HTTPS auth и writer настроены.
  • Публикация и pull проверены.
  • backend:0.2.0 перенесён без пересборки и с сохранением digest.

Ограничения

Миграция registry не меняет SQLite или encryption keys.

## Цель Перевести публикацию backend image с Gitea Container Registry на `nexus.ksv741.keenetic.pro/wealthledger/backend` в существующем `image.yml`. ## Объём - Использовать отдельные Nexus Actions secrets. - Сохранить version validation, immutable semver tags, OCI revision verification и container smoke. - Сохранить Gitea registry для отката. ## Критерии готовности - Nexus HTTPS auth и writer настроены. - Публикация и pull проверены. - `backend:0.2.0` перенесён без пересборки и с сохранением digest. ## Ограничения Миграция registry не меняет SQLite или encryption keys.
Author
Owner

Пробный выпуск: frontend/backend v0.2.1 подготовлены release-it, release PR frontend#23/backend#27 слиты fast-forward, аннотированные теги опубликованы. Все required checks release PR зелёные; backend SQLite/HTTP tests проходят на Linux (локально macOS native better-sqlite3/Node SIGABRT).

Frontend image run https://git.personal.ksv741.ru/WealthLedger/frontend/actions/runs/369: verify и Nexus login успешны, публикация остановлена защитой Cannot prove tag absence до build/push. Отдельная проверка: GET /v2/wealthledger/frontend/manifests/0.2.1 возвращает HTML 404; GET /repository/docker-hosted/v2/wealthledger/frontend/manifests/0.2.1 — Docker JSON 401. Нужна маршрутизация всего /v2/* в docker-hosted, а не только базового /v2/. HTTP token realm также сохраняется.

По решению пользователя одна identity wealthledger-ci для push/pull, Actions secrets настроены в обоих component repos. Проверяем миграцию новым релизом 0.2.1; старые 0.2.0 остаются в Gitea. После исправления инфраструктуры можно rerun того же tag workflow, предварительно проверив отсутствие опубликованного image. Production не обновлялся.

Пробный выпуск: frontend/backend v0.2.1 подготовлены release-it, release PR frontend#23/backend#27 слиты fast-forward, аннотированные теги опубликованы. Все required checks release PR зелёные; backend SQLite/HTTP tests проходят на Linux (локально macOS native better-sqlite3/Node SIGABRT). Frontend image run https://git.personal.ksv741.ru/WealthLedger/frontend/actions/runs/369: verify и Nexus login успешны, публикация остановлена защитой Cannot prove tag absence до build/push. Отдельная проверка: GET /v2/wealthledger/frontend/manifests/0.2.1 возвращает HTML 404; GET /repository/docker-hosted/v2/wealthledger/frontend/manifests/0.2.1 — Docker JSON 401. Нужна маршрутизация всего /v2/* в docker-hosted, а не только базового /v2/. HTTP token realm также сохраняется. По решению пользователя одна identity wealthledger-ci для push/pull, Actions secrets настроены в обоих component repos. Проверяем миграцию новым релизом 0.2.1; старые 0.2.0 остаются в Gitea. После исправления инфраструктуры можно rerun того же tag workflow, предварительно проверив отсутствие опубликованного image. Production не обновлялся.
Author
Owner

Итог пробного выпуска 0.2.1: release PR frontend#23/backend#27 и sync PR frontend#24/backend#28 слиты fast-forward. Проверено: v0.2.1, origin/main и origin/develop у frontend указывают на 8183b66e2f296e4b1df2cfa1b5d0a673168a560f; у backend — на 386c91670e. Рабочие деревья чистые.

Backend image run https://git.personal.ksv741.ru/WealthLedger/backend/actions/runs/375: validate version, npm ci, verify и test:e2e успешны; login упал: Get https://nexus.ksv741.keenetic.pro/v2/: net/http: TLS handshake timeout. Шаг публикации пропущен. Frontend run #369 также остановлен до build/push (manifest check). Образы 0.2.1 не опубликованы этими workflows, production не обновлялся. Нужны исправление внешних Docker routes и стабильный TLS доступ с runner/его Docker daemon; затем rerun существующих tag workflows без изменения тегов.

Итог пробного выпуска 0.2.1: release PR frontend#23/backend#27 и sync PR frontend#24/backend#28 слиты fast-forward. Проверено: v0.2.1, origin/main и origin/develop у frontend указывают на 8183b66e2f296e4b1df2cfa1b5d0a673168a560f; у backend — на 386c91670e1c33b846e2b929a7c3bd1e7190a662. Рабочие деревья чистые. Backend image run https://git.personal.ksv741.ru/WealthLedger/backend/actions/runs/375: validate version, npm ci, verify и test:e2e успешны; login упал: Get https://nexus.ksv741.keenetic.pro/v2/: net/http: TLS handshake timeout. Шаг публикации пропущен. Frontend run #369 также остановлен до build/push (manifest check). Образы 0.2.1 не опубликованы этими workflows, production не обновлялся. Нужны исправление внешних Docker routes и стабильный TLS доступ с runner/его Docker daemon; затем rerun существующих tag workflows без изменения тегов.
codex-bot was assigned by hermes-agent 2026-10-12 00:04:28 +03:00
hermes-agent added this to the Инженерная основа и поставка milestone 2026-10-12 00:04:28 +03:00
hermes-agent added this to the WealthLedger — Delivery Board project 2026-10-12 00:04:28 +03:00
hermes-agent added the
Priority
Medium
3
Kind/Process
labels 2026-10-12 00:04:28 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#25