diff --git a/templates/gitlab-ci-helm.yml b/templates/gitlab-ci-helm.yml index cf2fc67fcfdd34c449c9ba1156f4564048e8531c..96ca9b666351113dd953353fea205a61b72e0efa 100644 --- a/templates/gitlab-ci-helm.yml +++ b/templates/gitlab-ci-helm.yml @@ -522,7 +522,19 @@ stages: before_script: - *helm-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - - helm $HELM_DEPENDENCY_ARGS $HELM_CHART_DIR + - | + if [ -f "$HELM_CHART_DIR/Chart.yaml" ] + then + helm $HELM_DEPENDENCY_ARGS $HELM_CHART_DIR + helm_package=$HELM_CHART_DIR + elif [ ! -z "${HELM_DEPLOY_CHART}" ] + then + add_helm_repositories + helm_package=$HELM_DEPLOY_CHART + else + log_error "You need at least one Chart.yaml or external deploy chart reference" + exit 1 + fi # ================================================== # Stage: check @@ -617,7 +629,7 @@ helm-review-score: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_REVIEW_VALUES" > generated-values-review.yml - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - + - helm template $helm_package --values generated-values-common.yml --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude when $HELM_KUBE_SCORE_DISABLED is set - if: '$HELM_KUBE_SCORE_DISABLED == "true"' @@ -635,7 +647,7 @@ helm-integration-score: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_INTEG_VALUES" > generated-values-integration.yml - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - + - helm template $helm_package --values generated-values-common.yml --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude when $K8S_SCORE_DISABLED is set - if: '$HELM_KUBE_SCORE_DISABLED == "true"' @@ -653,7 +665,7 @@ helm-staging-score: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_STAGING_VALUES" > generated-values-staging.yml - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - + - helm template $helm_package --values generated-values-common.yml --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude when $K8S_SCORE_DISABLED is set - if: '$HELM_KUBE_SCORE_DISABLED == "true"' @@ -668,7 +680,7 @@ helm-prod-score: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_PROD_VALUES" > generated-values-prod.yml - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - + - helm template $helm_package --values generated-values-common.yml --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude when $K8S_SCORE_DISABLED is set - if: '$HELM_KUBE_SCORE_DISABLED == "true"'