---
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:v5.0.0-RC
    - 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 mapasculturais-aldirblanc-dev --record deployment.apps/mapasculturais set image deployment.v1.apps/mapasculturais mapasculturais=$HOMOLOG_IMAGE
  only:
    - /master/
  environment: homolog
  tags:
    - docker


# build to production:
#   variables:
#     GIT_SUBMODULE_STRATEGY: normal
#   stage: build
#   script:
#     - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" $CI_REGISTRY
#     - docker pull mapasculturais/mapasculturais:v5.0.0-RC
#     - 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_config} | base64 -d > ${KUBECONFIG}
#     - kubectl -n mapasculturais-aldirblanc-prod --record deployment.apps/mapasculturais set image deployment.apps/mapasculturais mapasculturais=$RELEASE_IMAGE
#   only:
#     - tags
#   environment: production
#   tags:
#     - docker