diff options
Diffstat (limited to '.gitlab-ci.yml')
| -rw-r--r-- | .gitlab-ci.yml | 97 |
1 files changed, 41 insertions, 56 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d62cb7a..4bc8828 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ variables: DOCKER_DRIVER: overlay2 MAJOR: 1 + IMAGE: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA services: - docker:stable-dind @@ -10,55 +11,41 @@ services: stages: - build - QA - - pre-deploy - - deploy + - tag + - release -.build: +Docker build commit: 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 . - 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 - -.QA: +QA: image: docker:stable stage: QA - before_script: + script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - export IMAGE=$CI_REGISTRY_IMAGE:$IMAGE_TAG - script: - docker pull $IMAGE - docker run $IMAGE test -QA branch: - extends: .QA +.docker_tag: + image: docker:stable + stage: tag + script: + - docker info + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - export SOURCE_IMAGE=$IMAGE + - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:${IMAGE_TAG:-$CI_JOB_NAME} + - docker pull $SOURCE_IMAGE + - docker tag $SOURCE_IMAGE $TARGET_IMAGE + - docker push $TARGET_IMAGE + +branch: + extends: .docker_tag variables: IMAGE_TAG: $CI_COMMIT_REF_SLUG only: @@ -66,23 +53,22 @@ QA branch: except: - master -QA edge: - extends: .QA +edge: + extends: .docker_tag variables: IMAGE_TAG: edge only: - master -QA tag: - extends: .QA +version: + extends: .docker_tag before_script: - export IMAGE_TAG=${CI_COMMIT_TAG/v/} only: - tags -tag major: - extends: .build - stage: pre-deploy +major: + extends: .docker_tag variables: IMAGE_TAG: $MAJOR only: @@ -90,15 +76,14 @@ tag major: when: manual allow_failure: false -.deploy: - image: docker:stable - stage: deploy - before_script: +.release: + extends: .docker_tag + stage: release + 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:$CI_JOB_NAME - script: + - export SOURCE_IMAGE=$IMAGE + - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:${IMAGE_TAG:-$CI_JOB_NAME} - docker pull $SOURCE_IMAGE - docker tag $SOURCE_IMAGE $TARGET_IMAGE - docker push $TARGET_IMAGE @@ -106,46 +91,46 @@ tag major: - tags latest: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-7-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-6-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-5-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-4-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-3-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-2-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-1-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 11-0-stable: - extends: .deploy + extends: .release variables: DOCKERFILE: Dockerfile.v1 |
