Убраны short-sha теги образа: в Hub/Harbor публикуются только SemVer и latest.

This commit is contained in:
2026-07-29 13:41:17 +03:00
parent 806f2bdb1b
commit f728d74f34
2 changed files with 10 additions and 17 deletions
Vendored
+9 -16
View File
@@ -30,7 +30,6 @@ pipeline {
HARBOR_REGISTRY = 'hub.antropoff.ru' HARBOR_REGISTRY = 'hub.antropoff.ru'
HARBOR_IMAGE = 'hub.antropoff.ru/devops-tools/wrapped' HARBOR_IMAGE = 'hub.antropoff.ru/devops-tools/wrapped'
DOCKERHUB_IMAGE = 'inecs/wrapped' DOCKERHUB_IMAGE = 'inecs/wrapped'
// RELEASE_TAG — после checkout (с agent none GIT_COMMIT ещё нет → валидация env падает)
BUILDX_BUILDER = "jenkins-wrapped-${env.BUILD_NUMBER}" BUILDX_BUILDER = "jenkins-wrapped-${env.BUILD_NUMBER}"
DEPLOY_JOB = 'devops-tools/wrapped/wrapped-deploy/main' DEPLOY_JOB = 'devops-tools/wrapped/wrapped-deploy/main'
TZ = 'Europe/Moscow' TZ = 'Europe/Moscow'
@@ -60,12 +59,7 @@ pipeline {
if (!env.IMAGE_VERSION) { if (!env.IMAGE_VERSION) {
error('VERSION file is empty') error('VERSION file is empty')
} }
if (!env.GIT_COMMIT) {
error('GIT_COMMIT is empty after checkout')
}
env.RELEASE_TAG = env.GIT_COMMIT.take(7)
echo "IMAGE_VERSION from VERSION → ${env.IMAGE_VERSION}" echo "IMAGE_VERSION from VERSION → ${env.IMAGE_VERSION}"
echo "RELEASE_TAG → ${env.RELEASE_TAG}"
} }
} }
} }
@@ -89,7 +83,7 @@ pipeline {
set -eux set -eux
test -n "${IMAGE_VERSION}" test -n "${IMAGE_VERSION}"
echo "Building tags: ${IMAGE_VERSION}, ${RELEASE_TAG}, latest" echo "Building tags: ${IMAGE_VERSION}, latest (no short-sha)"
echo "$HARBOR_PASS" | docker login "$HARBOR_REGISTRY" -u "$HARBOR_USER" --password-stdin echo "$HARBOR_PASS" | docker login "$HARBOR_REGISTRY" -u "$HARBOR_USER" --password-stdin
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USER" --password-stdin echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USER" --password-stdin
@@ -98,27 +92,26 @@ pipeline {
docker buildx create --name "$BUILDX_BUILDER" --driver docker-container --use docker buildx create --name "$BUILDX_BUILDER" --driver docker-container --use
docker buildx inspect --bootstrap >/dev/null docker buildx inspect --bootstrap >/dev/null
# Arch-слои только в Harbor (промежуточные теги), не в Docker Hub
docker buildx build \ docker buildx build \
--platform linux/amd64 \ --platform linux/amd64 \
--provenance=false --sbom=false --push \ --provenance=false --sbom=false --push \
-t "${HARBOR_IMAGE}:${RELEASE_TAG}-amd64" \ -t "${HARBOR_IMAGE}:${IMAGE_VERSION}-amd64" \
-t "${DOCKERHUB_IMAGE}:${RELEASE_TAG}-amd64" \
-f Dockerfile . -f Dockerfile .
docker buildx build \ docker buildx build \
--platform linux/arm64 \ --platform linux/arm64 \
--provenance=false --sbom=false --push \ --provenance=false --sbom=false --push \
-t "${HARBOR_IMAGE}:${RELEASE_TAG}-arm64" \ -t "${HARBOR_IMAGE}:${IMAGE_VERSION}-arm64" \
-t "${DOCKERHUB_IMAGE}:${RELEASE_TAG}-arm64" \
-f Dockerfile . -f Dockerfile .
# Публичные теги: только SemVer + latest
for IMAGE in "$HARBOR_IMAGE" "$DOCKERHUB_IMAGE"; do for IMAGE in "$HARBOR_IMAGE" "$DOCKERHUB_IMAGE"; do
docker buildx imagetools create \ docker buildx imagetools create \
-t "${IMAGE}:${RELEASE_TAG}" \
-t "${IMAGE}:${IMAGE_VERSION}" \ -t "${IMAGE}:${IMAGE_VERSION}" \
-t "${IMAGE}:latest" \ -t "${IMAGE}:latest" \
"${IMAGE}:${RELEASE_TAG}-amd64" \ "${HARBOR_IMAGE}:${IMAGE_VERSION}-amd64" \
"${IMAGE}:${RELEASE_TAG}-arm64" "${HARBOR_IMAGE}:${IMAGE_VERSION}-arm64"
done done
echo "--- Harbor ---" echo "--- Harbor ---"
@@ -146,7 +139,7 @@ pipeline {
} }
} }
success { success {
echo "✓ Build OK: ${DOCKERHUB_IMAGE}:{${RELEASE_TAG},${IMAGE_VERSION},latest}" echo "✓ Build OK: ${DOCKERHUB_IMAGE}:{${IMAGE_VERSION},latest}"
} }
failure { failure {
echo "✗ Build/push не удались — Deploy не запускается" echo "✗ Build/push не удались — Deploy не запускается"
@@ -185,7 +178,7 @@ pipeline {
post { post {
success { success {
echo "✓ Version: ${IMAGE_VERSION}" echo "✓ Version: ${IMAGE_VERSION}"
echo "✓ Image: ${DOCKERHUB_IMAGE}:{${RELEASE_TAG},${IMAGE_VERSION},latest}" echo "✓ Image: ${DOCKERHUB_IMAGE}:{${IMAGE_VERSION},latest}"
echo "✓ Deploy: ${DEPLOY_JOB} triggered (async)" echo "✓ Deploy: ${DEPLOY_JOB} triggered (async)"
} }
failure { failure {
+1 -1
View File
@@ -443,7 +443,7 @@ docker buildx build \
| Harbor | `hub.antropoff.ru/devops-tools/wrapped` | | Harbor | `hub.antropoff.ru/devops-tools/wrapped` |
| Docker Hub | `inecs/wrapped` | | Docker Hub | `inecs/wrapped` |
Теги на каждый реестр: `:<semver>` (ровно из `VERSION` в коммите), `:<short-sha>`, `:latest`. Публичные теги на каждый реестр: `:<semver>` (из `VERSION` в коммите) и `:latest`. Short-sha больше не пушится. Промежуточные `:<semver>-amd64` / `-arm64` остаются только в Harbor для сборки multi-arch manifest.
### Версионирование ### Версионирование