#!/bin/bash -e if [[ -z "$CI_COMMIT_TAG" ]]; then export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG} export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_SHA} else export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE} export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_TAG} fi image_previous="$CI_APPLICATION_REPOSITORY:$CI_COMMIT_BEFORE_SHA" image_tagged="$CI_APPLICATION_REPOSITORY:$CI_APPLICATION_TAG" image_latest="$CI_APPLICATION_REPOSITORY:latest" # pull images for cache - this is required, otherwise --cache-from will not work docker pull $(grep -ioP '(?<=^from)\s+\S+' Dockerfile) docker pull ${image_latest} docker build \ --tag "$CI_APPLICATION_REPOSITORY:$CI_APPLICATION_TAG" \ --tag "$image_latest" . docker push "$image_tagged" docker push "$image_latest"