Commit 52db0eef authored by FulcrandG's avatar FulcrandG
Browse files

Updating helm job

parent 2595844e
Loading
Loading
Loading
Loading
+38 −10
Original line number Diff line number Diff line
@@ -2,26 +2,54 @@
# See https://gitlab.com/go2scale/jobs/ for more informations

.helm:
  image: registry.gitlab.com/go2scale/dockerfiles/helm:v0.2.3
  image: lachlanevenson/k8s-helm:v3.0.2
  variables:
    CHART_PATH: "./charts/$CI_PROJECT_NAME"
    VALUES_PATH: "./conf/values"
    REGISTRY: "${CI_REGISTRY_IMAGE}"
  script:
    - /run.sh
    KUBECTL_URL: "https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl"
    HELMSECRETS_URL: "https://github.com/futuresimple/helm-secrets"
    HELMSECRETS_VERSION: "v2.0.2"
    STABLE_REPO_URL: "https://kubernetes-charts.storage.googleapis.com/"
  before_script:
    - apk add --no-cache curl gnupg
    - curl --output /bin/kubectl ${KUBECTL_URL} \
      && chmod a+x /bin/kubectl \
      && mkdir ${HELM_HOME}/plugins \
      && helm plugin install $HELMSECRETS_URL --version ${HELMSECRETS_VERSION}
    - gpg --import "${PGP_PUBLIC}"
    - gpg --allow-secret-key-import --import "${PGP_PRIVATE}"
    - helm repo add stable ${STABLE_REPO_URL}
    - helm repo update


deploy_review:
  extends: .helm
  stage: review
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    name: review/${CI_COMMIT_REF_SLUG}
    url: https://${CI_ENVIRONMENT_SLUG}.${CI_PROJECT_NAME}.${KUBE_INGRESS_BASE_DOMAIN}/
    on_stop: cleanup_review
  except:
    refs:
      - master
    variables:
      - $REVIEW_DISABLE
      - ${REVIEW_DISABLE}
  script:
    - if [ -f "${VALUES_PATH}/secrets.review.yaml" ]
    - then
    -     SECRET_OPTION="-f ${VALUES_PATH}/secrets.review.yaml"
    - fi
- 
    - # Deploy
    - helm secrets upgrade ${CI_PROJECT_PATH_SLUG} ${CHART_PATH} \
    -     --namespace "${KUBE_NAMESPACE}" --install \
    -     -f ${VALUES_PATH}/review.yaml ${SECRET_OPTION}\
    -     --set-string image.registry=${REGISTRY} \
    -     --set-string image.tag=${CI_COMMIT_SHA} \
    -     --set-string ingress.hostPrefix="${CI_ENVIRONMENT_SLUG}." \
    -     --set-string gitlab.env=${CI_ENVIRONMENT_SLUG} \
    -     --set-string gitlab.app=${CI_PROJECT_PATH_SLUG}

cleanup_review:
  extends: .helm
@@ -30,17 +58,17 @@ cleanup_review:
    GIT_STRATEGY: none
  when: manual
  script:
    - helm ls --all --short -n $KUBE_NAMESPACE | xargs -L1 helm -n $KUBE_NAMESPACE delete
    - helm ls --all --short -n ${KUBE_NAMESPACE} | xargs -L1 helm -n ${KUBE_NAMESPACE} delete
#    - kubectl delete namespace $KUBE_NAMESPACE # TODO: it's forbidden due tu user RBAC
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    name: review/${CI_COMMIT_REF_SLUG}
    action: stop
  allow_failure: true
  except:
    refs:
      - master
    variables:
      - $REVIEW_DISABLE
      - ${REVIEW_DISABLE}

#test_stage:
#  extends: deploy_stage
@@ -58,7 +86,7 @@ deploy_stage:
    - master
  except:
    variables:
      - $STAGING_DISABLE
      - ${STAGING_DISABLE}

#test_production:
#  extends: deploy_production
@@ -77,4 +105,4 @@ deploy_production:
    - master
  except:
    variables:
      - $PRODUCTION_DISABLE
      - ${PRODUCTION_DISABLE}