Commit 7534301b authored by nimrod's avatar nimrod
Browse files

Shore Docker registry.

Jobs for building and pushing to the Shore Docker image registry as well
as Docker Hub.
parent ba9370bb
Loading
Loading
Loading
Loading
Loading
+68 −31
Original line number Diff line number Diff line
@@ -5,25 +5,91 @@
  variables:
    COMPOSE_DOCKER_CLI_BUILD: "1"
    DOCKER_BUILDKIT: "1"
  before_script:
    - &tag |-
      if [ -n "${CI_COMMIT_TAG:-}" ]
      then
        TAG="$CI_COMMIT_TAG"
      elif [ "$CI_COMMIT_BRANCH" = 'master' ]
      then
        TAG='latest'
      else
        TAG="$CI_COMMIT_BRANCH"
      fi
      export TAG
  script:
    - docker-compose build --no-cache --pull
    - docker-compose pull --quiet

.docker-build-hub:
  image: docker:19.03
  stage: build
  variables:
    DOCKER_BUILDKIT: "1"
  before_script:
    - *tag
  script:
    - docker build -t "adarnimrod/$IMAGE:$TAG" ./

.docker-build-shore:
  image: docker:19.03
  stage: build
  tags: ["ns4.shore.co.il"]
  variables:
    DOCKER_BUILDKIT: "1"
  before_script:
    - *tag
  script:
    - docker build -t "registry.shore.co.il/$IMAGE:$TAG" ./

.compose-push:
  image: adarnimrod/ci-images:docker
  stage: deploy
  tags: ["ns4.shore.co.il"]
  only:
    - branches
    - tags
  before_script:
    - docker login --username adarnimrod --password "$DOCKER_HUB_TOKEN"
    - *tag
    - &hub-login >-
      docker
      login
      --username adarnimrod
      --password "$DOCKER_HUB_TOKEN"
  script:
    - docker-compose push

.docker-push-hub:
  image: docker:19.03
  stage: deploy
  only:
    - branches
    - tags
  before_script:
    - *tag
    - *hub-login
  script:
    - docker push "adarnimrod/$IMAGE:$TAG"

.docker-push-shore:
  image: docker:19.03
  stage: deploy
  tags: ["ns4.shore.co.il"]
  only:
    - branches
    - tags
  before_script:
    - *tag
  script:
    - docker push "registry.shore.co.il/$IMAGE:$TAG"

.compose-run:
  image: adarnimrod/ci-images:docker
  stage: deploy
  when: manual
  before_script:
    - *tag
  script:
    - docker-compose pull --quiet
    - docker-compose up --detach --remove-orphans
    # yamllint disable rule:line-length
    - |
@@ -34,35 +100,6 @@
        done
        ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$'

.docker-build:
  image: docker:19.03
  stage: build
  only:
    - branches
  variables:
    DOCKER_BUILDKIT: "1"
  before_script:
    - &tag |-
      if [ "$CI_COMMIT_BRANCH" = 'master' ]
      then
        TAG='latest'
      else
        TAG="$CI_COMMIT_BRANCH"
      fi
  script:
    - docker build -t "adarnimrod/$IMAGE:$TAG" ./

.docker-push:
  image: docker:19.03
  stage: deploy
  only:
    - branches
  before_script:
    - *tag
    - docker login --username adarnimrod --password "$DOCKER_HUB_TOKEN"
  script:
    - docker push "adarnimrod/$IMAGE:$TAG"

dummy:
  stage: .post
  script: