Newer
Older
stages:
- build
.docker_build: &docker_build
stage: build
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
IMAGE_TAG: $CI_REGISTRY_IMAGE/ci:$CI_COMMIT_SHA
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE:master || true # Retrieve "master" version to use it as cache since the build is run using DinD
docker_ci_image:
<<: *docker_build
script:
- docker build --cache-from $CI_REGISTRY_IMAGE:master -t $IMAGE_TAG .
- docker push $IMAGE_TAG
docker_image:
<<: *docker_build
script:
- docker build --cache-from $CI_REGISTRY_IMAGE:master -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
only:
- master
- tags