ci: publish backend images to Nexus #25
Backend security / security (push) Successful in 7s
Backend verify / verify (push) Successful in 2m27s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Successful in 2m22s
Conventional commits / commits (pull_request) Failing after 22s
Backend security / security (push) Successful in 7s
Backend verify / verify (push) Successful in 2m27s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Successful in 2m22s
Conventional commits / commits (pull_request) Failing after 22s
This commit is contained in:
@@ -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}"
|
||||
|
||||
@@ -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`. Dedicated Nexus writer
|
||||
задаётся Actions secrets `NEXUS_USERNAME`/`NEXUS_PASSWORD`; server использует
|
||||
отдельную read-only identity. 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),
|
||||
|
||||
Reference in New Issue
Block a user