Loading jobs/helm_deploy/helm_deploy.yml +38 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -58,7 +86,7 @@ deploy_stage: - master except: variables: - $STAGING_DISABLE - ${STAGING_DISABLE} #test_production: # extends: deploy_production Loading @@ -77,4 +105,4 @@ deploy_production: - master except: variables: - $PRODUCTION_DISABLE - ${PRODUCTION_DISABLE} Loading
jobs/helm_deploy/helm_deploy.yml +38 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -58,7 +86,7 @@ deploy_stage: - master except: variables: - $STAGING_DISABLE - ${STAGING_DISABLE} #test_production: # extends: deploy_production Loading @@ -77,4 +105,4 @@ deploy_production: - master except: variables: - $PRODUCTION_DISABLE - ${PRODUCTION_DISABLE}