-
Olivier Benz authoredOlivier Benz authored
.gitlab-ci.yml 2.22 KiB
image: docker:stable
services:
- docker:stable-dind
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
R_VERSION_UPDATE: "true"
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- export VERSION_MAJ_MIN_PAT=`cat tidyverse/latest.Dockerfile | head -n1 | sed 's/.*\([0-9].[0-9].[0-9]\)/\1/'`
- export VERSION_MAJ_MIN=`echo "${VERSION_MAJ_MIN_PAT:0:3}"`
- export VERSION_MAJ=`echo "${VERSION_MAJ_MIN_PAT:0:1}"`
build-latest:
stage: build
script:
- cd tidyverse && docker build --pull -t $CI_REGISTRY_IMAGE:latest -f latest.Dockerfile .
- docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN_PAT
- docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN
- docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ
- docker push $CI_REGISTRY_IMAGE:latest
- docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN_PAT
- docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN
- docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ
rules:
- if: $CI_COMMIT_BRANCH == "master" && $R_VERSION_UPDATE != "true"
changes:
- tidyverse/latest.Dockerfile
build-version:
stage: build
script:
- cd tidyverse && docker build --pull -t $CI_REGISTRY_IMAGE:4.0.1 -f 4.0.1.Dockerfile .
- docker push $CI_REGISTRY_IMAGE:4.0.1
rules:
- if: $CI_COMMIT_BRANCH == "freeze-version" && $R_VERSION_UPDATE != "true"
changes:
- tidyverse/4.0.1.Dockerfile
trigger-latest-build:
stage: deploy
before_script:
- apk add --update curl
- rm -rf /var/cache/apk/*
script:
- curl -X POST -F token=$ROCKER_VERSE -F ref=master https://gitlab.b-data.ch/api/v4/projects/187/trigger/pipeline
rules:
- if: $CI_COMMIT_BRANCH == "master" && $R_VERSION_UPDATE != "true"
changes:
- tidyverse/latest.Dockerfile
trigger-version-build:
stage: deploy
before_script:
- apk add --update curl
- rm -rf /var/cache/apk/*
script:
- curl -X POST -F token=$ROCKER_VERSE -F ref=freeze-version https://gitlab.b-data.ch/api/v4/projects/187/trigger/pipeline
rules:
- if: $CI_COMMIT_BRANCH == "freeze-version" && $R_VERSION_UPDATE != "true"
changes:
- tidyverse/4.0.1.Dockerfile