diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd729ce9b6a21e2d59b70de5735cf27d130f9b2e..32f89b32014fdbb20d5c242a5f93b3187b8ee2fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,6 +10,7 @@ image: alpine:3.8 stages: - build - test + - docker #========== Stage build ========== @@ -79,3 +80,44 @@ test:clang: <<: *test_template dependencies: - build:clang + +#========== Stage release ========= + +.docker: &docker_template + stage: docker + image: gitlab.fit.cvut.cz:5000/ict/alpine-docker-images/ci:3.8 + cache: {} # disable + variables: + DOCKER_DRIVER: overlay2 + DOCKER_HOST: docker + IMAGE_TAG_NIGHTLY: $CI_REGISTRY_IMAGE/nightly:$CI_COMMIT_REF_NAME + IMAGE_TAG_RELEASE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + IMAGE_TAG_LATEST: $CI_REGISTRY_IMAGE:latest + services: + - docker:dind + before_script: + - apk add --no-cache docker + - docker info + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + dependencies: [] + +docker:build-nightly: + <<: *docker_template + only: + - schedules + script: + - docker build -t "$IMAGE_TAG_NIGHTLY" . + - docker run "$IMAGE_TAG_NIGHTLY" /app/bin/aql2 --help + - docker push "$IMAGE_TAG_NIGHTLY" + +docker:build-release: + <<: *docker_template + only: + - /^v.*$/ + except: + - branches + script: + - docker build -t "$IMAGE_TAG_RELEASE" -t "$IMAGE_TAG_LATEST" . + - docker run "$IMAGE_TAG_RELEASE" /app/bin/aql2 --help + - docker push "$IMAGE_TAG_RELEASE" + - docker push "$IMAGE_TAG_LATEST"