docs: document Nexus delivery with shared account (WealthLedger/docs#18) #48
@@ -12,7 +12,7 @@ Development-команды ниже выполняются из workspace с che
|
|||||||
|
|
||||||
- Docker Engine с Compose plugin **не ниже 2.24.4** (`!override` в development),
|
- Docker Engine с Compose plugin **не ниже 2.24.4** (`!override` в development),
|
||||||
доступ к registry и достаточно свободного диска для non-root UID 1000.
|
доступ к registry и достаточно свободного диска для non-root UID 1000.
|
||||||
Production images `0.2.3` опубликованы для Linux amd64.
|
Опубликованные images собраны для Linux amd64 (см. README комплекта).
|
||||||
Другую архитектуру проверяют отдельно; multi-platform images не обещаны.
|
Другую архитектуру проверяют отдельно; multi-platform images не обещаны.
|
||||||
- Nexus Docker hosted repository `docker-hosted`, доступный через
|
- Nexus Docker hosted repository `docker-hosted`, доступный через
|
||||||
`nexus.personal.ksv741.ru/docker-hosted/`. Docker Bearer Token Realm включён;
|
`nexus.personal.ksv741.ru/docker-hosted/`. Docker Bearer Token Realm включён;
|
||||||
@@ -26,7 +26,10 @@ Development-команды ниже выполняются из workspace с che
|
|||||||
используется сервером для загрузки образов. Для публикации нужны
|
используется сервером для загрузки образов. Для публикации нужны
|
||||||
browse/read/add/edit на `docker-hosted`; фактически выданный набор прав
|
browse/read/add/edit на `docker-hosted`; фактически выданный набор прав
|
||||||
настраивается в Nexus. Built-in
|
настраивается в Nexus. Built-in
|
||||||
workflow token не заменяет эту настройку.
|
workflow token не заменяет эту настройку. Отдельной read-only учётной записи
|
||||||
|
сервера нет: `wealthledger-ci` работает и как CI writer, и как server reader,
|
||||||
|
поэтому её пароль на сервере даёт право публикации в `docker-hosted`. Это
|
||||||
|
принятое владельцем решение; разделение ролей — возможное усиление.
|
||||||
- На сервере Caddy уже завершает TLS и передаёт весь домен на
|
- На сервере Caddy уже завершает TLS и передаёт весь домен на
|
||||||
`127.0.0.1:8080` (или выбранный frontend port). Отдельного `/api` upstream нет.
|
`127.0.0.1:8080` (или выбранный frontend port). Отдельного `/api` upstream нет.
|
||||||
DNS, TLS, firewall и provisioning Caddy выполняются вне этого runbook.
|
DNS, TLS, firewall и provisioning Caddy выполняются вне этого runbook.
|
||||||
@@ -81,7 +84,8 @@ Workflow отказывается перезаписывать существу
|
|||||||
Выберите опубликованные version tags, выполните pull и сравните OCI revision
|
Выберите опубликованные version tags, выполните pull и сравните OCI revision
|
||||||
с release commit. Выполните smoke с disposable data/config до первого server
|
с release commit. Выполните smoke с disposable data/config до первого server
|
||||||
rollout. В `release.env` комплекта хранится пара полных image references, например
|
rollout. В `release.env` комплекта хранится пара полных image references, например
|
||||||
`nexus.personal.ksv741.ru/docker-hosted/wealthledger/frontend:0.2.3`. Сохраните versions/revisions
|
`nexus.personal.ksv741.ru/docker-hosted/wealthledger/frontend:1.1.0` и
|
||||||
|
`.../backend:2.1.0`. Сохраните versions/revisions
|
||||||
в deployment record. Release tags не должны переназначаться другим images.
|
в deployment record. Release tags не должны переназначаться другим images.
|
||||||
|
|
||||||
## Перенос существующих images из Gitea
|
## Перенос существующих images из Gitea
|
||||||
@@ -91,7 +95,9 @@ rollout. В `release.env` комплекта хранится пара полн
|
|||||||
`REGISTRY_USERNAME`/`REGISTRY_TOKEN` сохраните для отката старого workflow.
|
`REGISTRY_USERNAME`/`REGISTRY_TOKEN` сохраните для отката старого workflow.
|
||||||
Пароли вводятся интерактивно или через `--password-stdin`, не через аргументы.
|
Пароли вводятся интерактивно или через `--password-stdin`, не через аргументы.
|
||||||
|
|
||||||
Скопируйте каждый опубликованный release без пересборки. Например, для `0.2.0`
|
Прежние images лежат в [Gitea packages](https://git.personal.ksv741.ru/WealthLedger/-/packages)
|
||||||
|
(`git.personal.ksv741.ru/wealthledger/{frontend,backend}`); новые публикуются
|
||||||
|
только в Nexus. Скопируйте каждый опубликованный release без пересборки. Например, для `0.2.0`
|
||||||
с установленным Skopeo и доступом чтения Gitea/записи Nexus:
|
с установленным Skopeo и доступом чтения Gitea/записи Nexus:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -114,7 +120,9 @@ artifact повторно не публикуйте; несовпадение т
|
|||||||
После копирования сравните digests через `skopeo inspect --raw` и SHA-256,
|
После копирования сравните digests через `skopeo inspect --raw` и SHA-256,
|
||||||
выполните `docker pull` обоих images пользователем `wealthledger-ci` на сервере приложения,
|
выполните `docker pull` обоих images пользователем `wealthledger-ci` на сервере приложения,
|
||||||
проверьте OCI revision и container smoke на disposable data.
|
проверьте OCI revision и container smoke на disposable data.
|
||||||
Только после этого меняйте production image references и запускайте обычную
|
Серверные шаги (login, pull, smoke) в репозитории не подтверждены и
|
||||||
|
выполняются оператором. Только после них меняйте
|
||||||
|
production image references и запускайте обычную
|
||||||
последовательность обновления ниже. Старые Gitea packages и references сохраните:
|
последовательность обновления ниже. Старые Gitea packages и references сохраните:
|
||||||
откат registry возвращает прежние адреса тех же artifacts, не восстанавливает
|
откат registry возвращает прежние адреса тех же artifacts, не восстанавливает
|
||||||
SQLite и не меняет encryption keys. Не переносите Git release tags и не
|
SQLite и не меняет encryption keys. Не переносите Git release tags и не
|
||||||
|
|||||||
Reference in New Issue
Block a user