Loading .gitlab-ci.yml +32 −9 Original line number Diff line number Diff line image: docker:28.3.2 services: - docker:28.3.2-dind stages: - build variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY build_image: build_slim: stage: build script: - docker pull $CI_REGISTRY_IMAGE:slim-latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:slim-latest -t $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_REF_NAME -t $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_SHA -f Dockerfile.slim . - docker push $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_REF_NAME - docker push $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_SHA - | if [ "$CI_COMMIT_REF_NAME" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:slim-master $CI_REGISTRY_IMAGE:slim-latest; docker push $CI_REGISTRY_IMAGE:slim-latest; fi build_full: stage: build image: docker:git services: - docker:20.10.16-dind script: - "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" - "docker pull $CI_REGISTRY_IMAGE:latest" - "docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME ." - "docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" - if [ "${CI_COMMIT_REF_NAME}" = master ] ; then docker push $CI_REGISTRY_IMAGE:latest ; fi - docker pull $CI_REGISTRY_IMAGE:latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -f Dockerfile . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - | if [ "$CI_COMMIT_REF_NAME" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:master $CI_REGISTRY_IMAGE:latest; docker push $CI_REGISTRY_IMAGE:latest; fi Dockerfile.slim 0 → 100644 +3 −0 Original line number Diff line number Diff line FROM alpine:latest RUN apk --no-cache add curl rsync git openssh-client xmlstarlet Loading
.gitlab-ci.yml +32 −9 Original line number Diff line number Diff line image: docker:28.3.2 services: - docker:28.3.2-dind stages: - build variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY build_image: build_slim: stage: build script: - docker pull $CI_REGISTRY_IMAGE:slim-latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:slim-latest -t $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_REF_NAME -t $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_SHA -f Dockerfile.slim . - docker push $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_REF_NAME - docker push $CI_REGISTRY_IMAGE:slim-$CI_COMMIT_SHA - | if [ "$CI_COMMIT_REF_NAME" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:slim-master $CI_REGISTRY_IMAGE:slim-latest; docker push $CI_REGISTRY_IMAGE:slim-latest; fi build_full: stage: build image: docker:git services: - docker:20.10.16-dind script: - "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" - "docker pull $CI_REGISTRY_IMAGE:latest" - "docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME ." - "docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" - if [ "${CI_COMMIT_REF_NAME}" = master ] ; then docker push $CI_REGISTRY_IMAGE:latest ; fi - docker pull $CI_REGISTRY_IMAGE:latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -f Dockerfile . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - | if [ "$CI_COMMIT_REF_NAME" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:master $CI_REGISTRY_IMAGE:latest; docker push $CI_REGISTRY_IMAGE:latest; fi
Dockerfile.slim 0 → 100644 +3 −0 Original line number Diff line number Diff line FROM alpine:latest RUN apk --no-cache add curl rsync git openssh-client xmlstarlet