stages: - generate - release generate: stage: generate image: python:3.11-alpine script: - pip install -r requirements.txt - ./update.py > tags.txt artifacts: expire_in: 1 hour paths: - tags.txt release-image: needs: - job: generate artifacts: true image: docker:latest stage: release services: - docker:dind variables: DOCKER_HOST: tcp://docker:2376 DOCKER_TLS_CERTDIR: "/certs" DOCKER_TLS_VERIFY: 1 DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client" before_script: - until docker info; do sleep 1; done - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | for tag in $(cat tags.txt); do export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag echo $IMAGE_TAG sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp docker build . --pull -f Dockerfile.tmp -t $IMAGE_TAG docker push $IMAGE_TAG done