diff --git a/.gitea/workflows/image.yml b/.gitea/workflows/image.yml index 5979547..ecaf38b 100644 --- a/.gitea/workflows/image.yml +++ b/.gitea/workflows/image.yml @@ -12,7 +12,7 @@ jobs: publish: runs-on: ubuntu-latest env: - IMAGE: git.personal.ksv741.ru/wealthledger/backend + IMAGE: nexus.ksv741.keenetic.pro/wealthledger/backend RELEASE_TAG: ${{ gitea.ref_name }} REVISION: ${{ gitea.sha }} DOCKER_CONFIG: ${{ runner.temp }}/wealthledger-backend-docker @@ -31,14 +31,14 @@ jobs: - run: npx --no-install prisma generate - run: npm run verify - run: npm run test:e2e - - name: Login with dedicated package writer + - name: Login with dedicated Nexus writer env: - REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} - REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + REGISTRY_USERNAME: ${{ secrets.NEXUS_USERNAME }} + REGISTRY_TOKEN: ${{ secrets.NEXUS_PASSWORD }} run: | test -n "$REGISTRY_USERNAME" && test -n "$REGISTRY_TOKEN" install -d -m 700 "$DOCKER_CONFIG" - printf '%s' "$REGISTRY_TOKEN" | docker login git.personal.ksv741.ru --username "$REGISTRY_USERNAME" --password-stdin + printf '%s' "$REGISTRY_TOKEN" | docker login nexus.ksv741.keenetic.pro --username "$REGISTRY_USERNAME" --password-stdin - name: Publish immutable release tag run: | VERSION="${RELEASE_TAG#v}" diff --git a/README.md b/README.md index 10d9e4c..f47a94f 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,13 @@ npm run test:container -- wealthledger-backend:production Gitea `image.yml` запускается на защищённом release tag `vX.Y.Z`, проверяет package/lock version и canonical gates. Runner `ubuntu-latest` должен иметь -Docker/buildx. Dedicated package writer задаётся Actions secrets -`REGISTRY_USERNAME`/`REGISTRY_TOKEN`; server использует отдельную read-only -identity. Публикуются semver tags, без `latest`; существующие -release tags не перезаписываются. Production выбирает опубликованный version tag. +Docker/buildx. Образы хранятся в Nexus: +`nexus.ksv741.keenetic.pro/wealthledger/backend`. Пользователь `wealthledger-ci` +задаётся Actions secrets `NEXUS_USERNAME`/`NEXUS_PASSWORD`; эта же учётная +запись используется сервером для загрузки образов. Docker endpoint и token realm должны использовать +HTTPS; в `docker-hosted` включается запрет redeploy. Прежние Gitea secrets +сохраняются на время перехода и не передаются в Nexus. +Публикуются semver tags, без `latest`; существующие release tags не перезаписываются. Production выбирает опубликованный version tag. Compose topology принадлежит workspace, эксплуатационная последовательность — [документация](https://git.personal.ksv741.ru/WealthLedger/docs),