diff options
author | Rémy Coutable <remy@rymai.me> | 2019-09-10 17:52:53 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2019-09-10 17:52:53 +0000 |
commit | d7061cef98c10f5abef28e60dc764d4c3611c1bd (patch) | |
tree | 3b7888712a66d20922683a0b324f178711a14c56 | |
parent | 946af3b649e7fcd51e04986c5eb7c3dd4da56242 (diff) | |
parent | 5a1659d884ff2e5b71b86cca4203245ac098c41b (diff) | |
download | gitlab-ce-d7061cef98c10f5abef28e60dc764d4c3611c1bd.tar.gz |
Merge branch 'add-review-app-cleanup' into 'master'
Add review-cleanup-failed-deployment to prepare
See merge request gitlab-org/gitlab-ce!32839
-rw-r--r-- | .gitlab/ci/review.gitlab-ci.yml | 9 | ||||
-rwxr-xr-x | scripts/review_apps/review-apps.sh | 21 |
2 files changed, 29 insertions, 1 deletions
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index 6f1505b5c0d..8e612243371 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -134,6 +134,15 @@ review-stop: artifacts: paths: [] +review-cleanup-failed-deployment: + extends: review-stop + stage: prepare + when: on_success + needs: [] + allow_failure: false + script: + - delete_failed_release + .review-qa-base: extends: - .review-docker diff --git a/scripts/review_apps/review-apps.sh b/scripts/review_apps/review-apps.sh index a9549171b54..b95bc4e743e 100755 --- a/scripts/review_apps/review-apps.sh +++ b/scripts/review_apps/review-apps.sh @@ -49,6 +49,26 @@ function delete_release() { helm delete --purge "$name" } +function delete_failed_release() { + if [ -z "$CI_ENVIRONMENT_SLUG" ]; then + echoerr "No release given, aborting the delete!" + return + fi + + if ! deploy_exists "${KUBE_NAMESPACE}" "${CI_ENVIRONMENT_SLUG}"; then + echoinfo "No Review App with ${CI_ENVIRONMENT_SLUG} is currently deployed." + else + # Cleanup and previous installs, as FAILED and PENDING_UPGRADE will cause errors with `upgrade` + if previous_deploy_failed "$CI_ENVIRONMENT_SLUG" ; then + echoinfo "Review App deployment in bad state, cleaning up $CI_ENVIRONMENT_SLUG" + delete_release + else + echoinfo "Review App deployment in good state" + fi + fi +} + + function get_pod() { local app_name="${1}" local status="${2-Running}" @@ -193,7 +213,6 @@ function deploy() { HELM_CMD=$(cat << EOF helm upgrade --install \ - --force \ --wait \ --timeout 900 \ --set releaseOverride="$CI_ENVIRONMENT_SLUG" \ |