image: registry.gitlab.com/openstapps/projectmanagement/builder default: tags: - docker stages: - test - publish image build: stage: test variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - export CI_ES_VERSION=$(sed -n '/FROM elasticsearch/p' Dockerfile | cut -d ":" -f 2) - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:$CI_ES_VERSION . - docker tag $CI_REGISTRY_IMAGE:$CI_ES_VERSION $CI_REGISTRY_IMAGE:latest only: - branches except: - main - develop main: stage: publish variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - export CI_ES_VERSION=$(sed -n '/FROM elasticsearch/p' Dockerfile | cut -d ":" -f 2) - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:$CI_ES_VERSION . - docker tag $CI_REGISTRY_IMAGE:$CI_ES_VERSION $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:$CI_ES_VERSION only: - main develop: stage: publish variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME only: - develop