Add review-cleanup-failed-deployment to prepare

Add in a job to purge previous release in Review App
This commit is contained in:
Kyle Wiebers 2019-09-09 14:29:44 -05:00
parent 7e8453fe92
commit 5a1659d884
2 changed files with 29 additions and 1 deletions

View File

@ -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

View File

@ -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" \