variables: CONTAINER_IMAGE: "gitlab.inf.unibz.it:4567/commul/merlin-platform/www/master" DOCKER_BUILDER_IMAGE: "docker:19.03.1" DOCKER_TLS_CERTDIR: "" # See https://gitlab.com/gitlab-org/gitlab-runner/issues/4501 KUBECTL: "https://storage.googleapis.com/kubernetes-release/release/v1.8.10/bin/linux/amd64/kubectl" stages: - build - tag - deploy build: stage: build tags: - commul image: ${DOCKER_BUILDER_IMAGE} services: - docker:dind before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN https://gitlab.inf.unibz.it:4567 script: - docker build --rm --no-cache --tag=${CONTAINER_IMAGE}:${CI_COMMIT_SHA} . - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA} - docker tag ${CONTAINER_IMAGE}:${CI_COMMIT_SHA} ${CONTAINER_IMAGE}:staging - docker push ${CONTAINER_IMAGE}:staging only: - master deploy_staging: stage: deploy tags: - commul image: ${DOCKER_BUILDER_IMAGE} services: - docker:dind before_script: - wget ${KUBECTL} - mv kubectl /usr/bin/ - chmod +x /usr/bin/kubectl - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN gitlab.inf.unibz.it:4567 script: - docker pull ${CONTAINER_IMAGE}:${CI_COMMIT_SHA} - kubectl --namespace kommul-dev set image deployment/merlin browser=${CONTAINER_IMAGE}:${CI_COMMIT_SHA} only: - master