chore: подставлять URL с тегом при билде
All checks were successful
CI/CD Pipeline / docs (push) Successful in 24s
CI/CD Pipeline / docker (push) Successful in 37s
CI/CD Pipeline / deploy (push) Successful in 6s

- Dockerfile принимает VERSION_TAG через build-arg
- CI передаёт тег из job docs в job docker через outputs
- Docker-образ тегируется версией
- На сайте ссылка ведёт на ARCHITECTURE.md по тегу
This commit is contained in:
2026-04-19 01:21:44 +03:00
parent 3b3222c7a3
commit 856485a27e
2 changed files with 11 additions and 5 deletions

View File

@@ -8,6 +8,8 @@ jobs:
docs:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
outputs:
new_tag: ${{ steps.tag.outputs.new_tag }}
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -31,14 +33,13 @@ jobs:
git add generated/
if git diff --cached --quiet; then
echo "ARCHITECTURE.md не изменился, пропуск"
echo "CHANGED=false" >> $GITHUB_ENV
else
git commit -m "docs: обновить ARCHITECTURE.md [skip ci]"
git push origin main
echo "CHANGED=true" >> $GITHUB_ENV
fi
- name: Автоматический тег (semver patch)
id: tag
run: |
LAST_TAG=$(git tag -l 'v*' --sort=-v:refname | head -1)
if [ -z "$LAST_TAG" ]; then
@@ -51,7 +52,7 @@ jobs:
fi
git tag "$NEW_TAG"
git push origin "$NEW_TAG"
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
echo "Создан тег: $NEW_TAG"
docker:
@@ -90,6 +91,7 @@ jobs:
type=ref,event=branch
type=sha,prefix=
type=raw,value=latest,enable={{is_default_branch}}
type=raw,value=${{ needs.docs.outputs.new_tag }}
- name: Build and push
uses: docker/build-push-action@v5
@@ -100,6 +102,8 @@ jobs:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION_TAG=${{ needs.docs.outputs.new_tag }}
provenance: false
sbom: false
@@ -148,7 +152,7 @@ jobs:
docker rmi "$OLD_IMAGE_ID" 2>/dev/null || true
fi
# Очистка: dangling-образы, неиспользуемые volumes, build-кеш
# Очистка
docker image prune -af --filter "label=org.opencontainers.image.title=$CONTAINER"
docker image prune -f
docker builder prune -f 2>/dev/null || true