From af91e01939ac82c609c555ff7e0ce743dfd2d341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=20Gl=C3=A4=C3=9F-St=C3=B6cker?= Date: Wed, 23 Jun 2021 22:22:11 +0200 Subject: [PATCH] we are tagging the images from github releases now and build only if there is a new release --- .gitlab-ci.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3b02330..f6882f1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,8 +15,17 @@ build: D_IMAGE_TAG: egon0/minio-multiarch D_LATEST_TAG: egon0/minio-multiarch:latest script: - - echo $IMAGE_TAG:$(date +%Y-%m-%d) - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD - - docker buildx create --use --name A$CI_COMMIT_SHORT_SHA - - docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG:$(date +%Y-%m-%d) -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG:$(date +%Y-%m-%d) -t $D_LATEST_TAG . + - > + apk add --no-cache jq; + LATEST_MINIO_GITHUB=$(wget --quiet "https://api.github.com/repos/minio/minio/releases/latest" -O - | jq -r '.tag_name'); + LATEST_MINIO_DHUB=$(wget -q https://registry.hub.docker.com/v1/repositories/egon0/minio-multiarch/tags -O - | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n' | awk -F: '{print $3}' | tail -n1); + if [ "$LATEST_MINIO_GITHUB" != "$LATEST_MINIO_DHUB" ] + then + docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD + docker buildx create --use --name A$CI_COMMIT_SHORT_SHA + docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG:$LATEST_MINIO_GITHUB -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG:$LATEST_MINIO_GITHUB -t $D_LATEST_TAG . + else + return true + fi +