# When using dind, it's wise to use the overlayfs driver for # improved performance. variables: DOCKER_DRIVER: overlay2 MAJOR: 1 services: - docker:stable-dind stages: - build # - test - deploy .build: image: docker:stable stage: build script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - export IMAGE=$CI_REGISTRY_IMAGE:$IMAGE_TAG - docker build -t $IMAGE . # TODO: Remove this, move to QA as this is not really test - docker run $IMAGE test - docker push $IMAGE build branch: extends: .build variables: IMAGE_TAG: $CI_COMMIT_REF_SLUG only: - branches except: - master build edge: extends: .build variables: IMAGE_TAG: edge only: - master build tag: extends: .build before_script: - export IMAGE_TAG=${CI_COMMIT_TAG/v/} only: - tags build major: extends: .build variables: IMAGE_TAG: $MAJOR only: - tags when: manual allow_failure: false tag latest: image: docker:stable stage: deploy before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - export SOURCE_IMAGE=$CI_REGISTRY_IMAGE:$MAJOR - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:latest script: - docker pull $SOURCE_IMAGE - docker tag $SOURCE_IMAGE $TARGET_IMAGE - docker push $TARGET_IMAGE only: - tags .deploy: image: docker:stable stage: deploy before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - export IMAGE=$CI_REGISTRY_IMAGE:$CI_JOB_NAME script: - docker build -t $IMAGE -f $DOCKERFILE . - docker push $IMAGE only: - tags 11-7-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-6-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-5-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-4-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-3-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-2-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-1-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1 11-0-stable: extends: .deploy variables: DOCKERFILE: Dockerfile.v1