--- image: docker:18.01.0-ce-git services: - docker:18.01.0-ce-dind stages: - build - deploy variables: HOMOLOG_IMAGE: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME-$CI_COMMIT_SHORT_SHA RELEASE_IMAGE: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME KUBECONFIG: /etc/k8s-config build to homolog: variables: GIT_SUBMODULE_STRATEGY: normal stage: build script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker pull mapasculturais/mapasculturais:develop - docker build -t $HOMOLOG_IMAGE -f compose/production/Dockerfile . - docker push $HOMOLOG_IMAGE only: - /master/ environment: homolog tags: - docker deploy to homolog: stage: deploy image: hacklab/kubectl:latest script: - echo ${kube_config} | base64 -d > ${KUBECONFIG} - kubectl -n mapas-iberculturaviva-dev --record deployment.apps/web set image deployment.v1.apps/web mapas=$HOMOLOG_IMAGE only: - /master/ environment: homolog tags: - docker build to production: stage: build script: - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" $CI_REGISTRY - docker pull mapasculturais/mapasculturais:develop - docker build -t $RELEASE_IMAGE -f compose/production/Dockerfile . - docker tag $RELEASE_IMAGE "$CI_REGISTRY_IMAGE:latest" - docker push $RELEASE_IMAGE - docker push "$CI_REGISTRY_IMAGE:latest" only: - tags environment: production tags: - docker deploy to production: stage: deploy image: hacklab/kubectl:latest script: - echo ${kube_hackcloud} | base64 -d > ${KUBECONFIG} - kubectl -n ibercultura-mapas-prod --record deployment.apps/mapas set image deployment.apps/mapas mapas=$RELEASE_IMAGE only: - tags environment: production tags: - docker