Files
Docker_Grav/.gitlab-ci.yml
2019-05-10 22:57:03 -04:00

93 lines
2.6 KiB
YAML

image: docker:latest
services:
- docker:dind
stages:
- Base
- Variants
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
build-base-master:
stage: Base
artifacts:
expire_in: 3 days
paths:
- ./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 images
- docker push "$CI_REGISTRY_IMAGE:$GRAV_VERSION"
- docker save --output "./images/$CI_REGISTRY_IMAGE_$CI_COMMIT_SHORT_SHA.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
build-git-master:
stage: Variants
dependencies:
- build-base-master
except:
- pushes
only:
- master
tags:
- docker
before_script:
- docker info
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
- ls ./images
- docker load --input "./images/$CI_REGISTRY_IMAGE_$CI_COMMIT_SHORT_SHA.tar"
script:
- docker images
- docker build --build-arg "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA" -f ./variants/Dockerfile-git -t "$CI_REGISTRY_IMAGE:$GRAV_VERSION-git" .
- docker push "$CI_REGISTRY_IMAGE:$GRAV_VERSION-git"
build-base:
stage: Base
artifacts:
expire_in: 3 days
paths:
- ./images/
except:
- master
- pushes
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:$CI_COMMIT_REF_NAME-$GRAV_VERSION" .
- docker images
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-$GRAV_VERSION"
- docker save --output "./images/$CI_REGISTRY_IMAGE_$CI_COMMIT_SHORT_SHA.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
build-git:
stage: Variants
dependencies:
- build-base
except:
- master
- pushes
tags:
- docker
before_script:
- docker info
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
- docker load --input "./images/$CI_REGISTRY_IMAGE_$CI_COMMIT_SHORT_SHA.tar"
script:
- docker images
- docker build --build-arg "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA" -f ./variants/Dockerfile-git -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-$GRAV_VERSION-git" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-$GRAV_VERSION-git"