correct the docker image tagging and only build if there is a newer version available

This commit is contained in:
Micha Gläß-Stöcker 2021-08-06 17:43:26 +02:00
parent dc949230d1
commit 2145909d9f

View file

@ -12,14 +12,22 @@ build:
stage: build stage: build
variables: variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
D_IMAGE_TAG: egon0/writefreely-multiarch:$CI_COMMIT_REF_SLUG D_IMAGE_TAG: egon0/writefreely-multiarch
D_LATEST_TAG: egon0/writefreely-multiarch:latest D_LATEST_TAG: egon0/writefreely-multiarch:latest
script: script:
- apk add --no-cache jq wget - >
- VERSION=$(wget --quiet "https://api.github.com/repos/writefreely/writefreely/releases/latest" -O - | jq -r '.tag_name') && wget https://github.com/writefreely/writefreely/archive/${VERSION}.tar.gz -O /tmp/writefreely.tar.gz apk add --no-cache jq wget;
- tar xf /tmp/writefreely.tar.gz --strip-components=1 LATEST_GITHUB=$(wget --quiet "https://api.github.com/repos/writefreely/writefreely/releases/latest" -O - | jq -r '.tag_name');
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY LATEST_DHUB=$(wget -q https://registry.hub.docker.com/v1/repositories/$D_IMAGE_TAG/tags -O - | sed -e 's/[][]//g' -e 's/"//g' -e 's/ //g' | tr '}' '\n' | awk -F: '{print $3}' | tail -n1);
- docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD if [ "$LATEST_GITHUB" != "$LATEST_DHUB" ]
- sed -i 's/nodejs-npm/npm/g' Dockerfile then
- docker buildx create --use --name A$CI_COMMIT_SHORT_SHA wget https://github.com/writefreely/writefreely/archive/${VERSION}.tar.gz -O /tmp/writefreely.tar.gz
- docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG -t $D_LATEST_TAG . tar xf /tmp/writefreely.tar.gz --strip-components=1
sed -i 's/nodejs-npm/npm/g' Dockerfile
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_GITHUB -t $CI_REGISTRY_IMAGE:latest -t $D_IMAGE_TAG:$LATEST_GITHUB -t $D_LATEST_TAG .
else
return 0
fi