image: docker:stable stages: - build services: - docker:dind variables: CONTAINER_IMAGE: $CI_REGISTRY/$CI_PROJECT_PATH before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY build_image: stage: build script: | COMMIT_DATE=`date +%Y%m%d%H%M` docker pull $CONTAINER_IMAGE:$CI_COMMIT_BRANCH || true docker build --cache-from $CONTAINER_IMAGE:$CI_COMMIT_BRANCH \ --tag $CONTAINER_IMAGE:$CI_COMMIT_BRANCH-$COMMIT_DATE \ --tag $CONTAINER_IMAGE:$CI_COMMIT_BRANCH \ . docker push $CONTAINER_IMAGE:$CI_COMMIT_BRANCH-$COMMIT_DATE docker push $CONTAINER_IMAGE:$CI_COMMIT_BRANCH