Commit cf9f928e authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Rework Docker tagging in CI build

parent 3aa57516
Loading
Loading
Loading
Loading
Loading
+16 −12
Original line number Diff line number Diff line
@@ -4,14 +4,9 @@ stages:
  - publish
  - deploy

variables: &global
  BUILD_TAG: ${CI_REGISTRY_IMAGE}/build/${CI_COMMIT_REF_SLUG}:${CI_PIPELINE_IID}
  LATEST_TAG: ${CI_REGISTRY_IMAGE}/build/${CI_COMMIT_REF_SLUG}:latest

.python:
  image: python:slim
  variables:
    <<: *global
    PYTHONPATH: .
    PIP_CACHE_DIR: $CI_PROJECT_DIR/.cache/pip
  cache:
@@ -56,7 +51,12 @@ lint:publish:
.docker:
  image: docker:stable
  variables:
    <<: *global
    BUILD_TAG: ${CI_REGISTRY_IMAGE}/pipeline:${CI_PIPELINE_IID}
    BUILD_TAG_COMMIT: ${CI_REGISTRY_IMAGE}/commit:${CI_COMMIT_SHORT_SHA}
    BUILD_TAG_REF: ${CI_REGISTRY_IMAGE}/ref/${CI_COMMIT_REF_SLUG}:${CI_PIPELINE_IID}
    BUILD_TAG_LATEST: ${CI_REGISTRY_IMAGE}/ref/${CI_COMMIT_REF_SLUG}:latest
    RELEASE_TAG: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG#v}
    RELEASE_TAG_LATEST: ${CI_REGISTRY_IMAGE}:latest
    DOCKER_HOST: "tcp://docker:2375/"
    DOCKER_DRIVER: overlay2
    DOCKER_TLS_CERTDIR: ""
@@ -73,7 +73,11 @@ build:
  except: [ master ]
  script:
    - docker build . --pull=true --tag=${BUILD_TAG}
    - docker tag ${BUILD_TAG} ${BUILD_TAG_COMMIT}
    - docker push ${BUILD_TAG}
    - docker push ${BUILD_TAG_COMMIT}
    - test -z "${CI_COMMIT_TAG}" && docker tag ${BUILD_TAG} ${BUILD_TAG_REF}
    - test -z "${CI_COMMIT_TAG}" && docker push ${BUILD_TAG_REF}

deploy:branch:
  stage: deploy
@@ -81,8 +85,8 @@ deploy:branch:
  except: [ tags, master ]
  script:
    - docker pull ${BUILD_TAG}
    - docker tag ${BUILD_TAG} ${LATEST_TAG}
    - docker push ${LATEST_TAG}
    - docker tag ${BUILD_TAG} ${BUILD_TAG_LATEST}
    - docker push ${BUILD_TAG_LATEST}

deploy:tag:
  stage: deploy
@@ -93,7 +97,7 @@ deploy:tag:
    - /^v[^0-9]/
  script:
    - docker pull ${BUILD_TAG}
    - docker tag ${BUILD_TAG} ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG#v}
    - docker tag ${BUILD_TAG} ${CI_REGISTRY_IMAGE}:latest
    - docker push ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG#v}
    - docker push ${CI_REGISTRY_IMAGE}:latest
    - docker tag ${BUILD_TAG} ${RELEASE_TAG}
    - docker tag ${BUILD_TAG} ${RELEASE_TAG_LATEST}
    - docker push ${RELEASE_TAG}
    - docker push ${RELEASE_TAG_LATEST}