asu/.gitlab-ci.yml

33 lines
1.6 KiB
YAML

image: egon0/docker-with-buildx-and-git
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
services:
- docker:dind
build:
stage: build
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE
D_IMAGE_TAG: egon0/asu-multiarch
D_LATEST_TAG: egon0/asu-multiarch
script:
- >
apk add --no-cache jq wget;
LATEST_GITHUB=$(wget --quiet "https://api.github.com/repos/aparcar/asu/releases/latest" -O - | jq -r '.tag_name');
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 | sed 's/worker-//g' | sed 's/server-//g');
if [ "$LATEST_GITHUB" != "$LATEST_DHUB" ]
then
wget https://github.com/aparcar/asu/archive/${LATEST_GITHUB}.tar.gz -O /tmp/asu.tar.gz
tar xf /tmp/asu.tar.gz --strip-components=1
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 linux/amd64 --push -t $IMAGE_TAG:worker-$LATEST_GITHUB -t $CI_REGISTRY_IMAGE:worker-latest -t $D_IMAGE_TAG:worker-$LATEST_GITHUB -t $D_LATEST_TAG:worker-latest -f Dockerfile.worker .
docker buildx build --platform $BUILD_PLATFORMS --push -t $IMAGE_TAG:server-$LATEST_GITHUB -t $CI_REGISTRY_IMAGE:server-latest -t $D_IMAGE_TAG:server-$LATEST_GITHUB -t $D_LATEST_TAG:server-latest -f Dockerfile.server .
else
return 0
fi