From 17c58865b5f95a5d1b73a9e81c3a3f0891eed8dc Mon Sep 17 00:00:00 2001 From: William Miceli <1-WilliamMiceli@git.williammiceli.systems> Date: Wed, 15 May 2019 13:49:22 -0400 Subject: [PATCH] Dedicated push stage --- .gitlab-ci.yml | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eda34ce..51f2666 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ services: stages: - Base - Variants + - Push variables: DOCKER_HOST: tcp://docker:2375/ @@ -19,32 +20,45 @@ build-base: - ./images/ except: - pushes - only: - - master tags: - docker before_script: - - docker info - - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin - mkdir ./images script: - - docker build --pull --build-arg "GRAV_VERSION=$GRAV_VERSION" -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" -t "$CI_REGISTRY_IMAGE:$GRAV_VERSION" . - - docker push "$CI_REGISTRY_IMAGE:$GRAV_VERSION" + - docker build --pull --build-arg "GRAV_VERSION=$GRAV_VERSION" -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" . - docker save --output "./images/$CI_COMMIT_SHORT_SHA.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" build-git: stage: Variants + artifacts: + expire_in: 1 week + paths: + - ./images/ dependencies: - build-base except: - pushes - only: - - master + tags: + - docker + script: + - docker build --build-arg "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA" -f ./variants/Dockerfile-git -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-git" . + - docker save --output "./images/$CI_COMMIT_SHORT_SHA-git.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + +push: + stage: Push + dependencies: + - build-base + - build-git + except: + - pushes tags: - docker before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin - docker load --input "./images/$CI_COMMIT_SHORT_SHA.tar" + - docker load --input "./images/$CI_COMMIT_SHORT_SHA-git.tar" script: - - docker build --build-arg "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA" -f ./variants/Dockerfile-git -t "$CI_REGISTRY_IMAGE:$GRAV_VERSION-git" . + - docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$GRAV_VERSION" + - docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-git" "$CI_REGISTRY_IMAGE:$GRAV_VERSION-git" + - docker push "$CI_REGISTRY_IMAGE:$GRAV_VERSION" - docker push "$CI_REGISTRY_IMAGE:$GRAV_VERSION-git" \ No newline at end of file