Merge pull request #3800 from dokku/3799-check-failure
Properly track failed check count
This commit is contained in:
@@ -205,6 +205,7 @@ scheduler-docker-local-check-deploy() {
|
||||
[[ $DOKKU_TRACE ]] && dokku_log_verbose "$ curl $CURL_ARGS"
|
||||
|
||||
local ATTEMPT=0
|
||||
local SUCCESS=0
|
||||
until [[ $SUCCESS == 1 || $ATTEMPT -ge $ATTEMPTS ]]; do
|
||||
local ATTEMPT=$((ATTEMPT + 1))
|
||||
dokku_log_verbose "Attempt $ATTEMPT/$ATTEMPTS. Waiting for $WAIT seconds ..."
|
||||
@@ -214,23 +215,22 @@ scheduler-docker-local-check-deploy() {
|
||||
# shellcheck disable=SC2086
|
||||
if OUTPUT=$(curl -# $CURL_ARGS 2>&1); then
|
||||
# OUTPUT contains the HTTP response
|
||||
if [[ ! "$OUTPUT" =~ $EXPECTED ]]; then
|
||||
dokku_log_warn "$LOG_URL: expected to but did not find: \"$EXPECTED\""
|
||||
local FAILEDCHECKS=$((FAILEDCHECKS + 1))
|
||||
if [[ "$OUTPUT" =~ $EXPECTED ]]; then
|
||||
SUCCESS=1
|
||||
break
|
||||
fi
|
||||
dokku_log_warn "$LOG_URL: expected to but did not find: \"$EXPECTED\""
|
||||
else
|
||||
# Failed to connect/no response, OUTPUT contains error message
|
||||
dokku_log_warn "$OUTPUT"
|
||||
local FAILEDCHECKS=$((FAILEDCHECKS + 1))
|
||||
fi
|
||||
|
||||
if [[ $FAILEDCHECKS -gt 0 ]]; then
|
||||
dokku_log_warn "Check attempt $ATTEMPT/$ATTEMPTS failed."
|
||||
local SUCCESS=0
|
||||
else
|
||||
local SUCCESS=1
|
||||
fi
|
||||
dokku_log_warn "Check attempt $ATTEMPT/$ATTEMPTS failed."
|
||||
done
|
||||
|
||||
if [[ $SUCCESS -ne 1 ]]; then
|
||||
FAILEDCHECKS=$((FAILEDCHECKS + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $FAILEDCHECKS -gt 0 ]]; then
|
||||
|
||||
@@ -60,10 +60,10 @@ scheduler-docker-local-pre-deploy-precheck() {
|
||||
local IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG")
|
||||
local CHECKS_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
|
||||
trap "rm -rf '$CHECKS_FILE' >/dev/null" RETURN INT TERM
|
||||
copy_from_image "$IMAGE" "CHECKS" "$CHECKS_FILENAME" 2>/dev/null || true
|
||||
copy_from_image "$IMAGE" "CHECKS" "$CHECKS_FILE" 2>/dev/null || true
|
||||
|
||||
dokku_log_info2 "Processing deployment checks"
|
||||
if [[ ! -s "${CHECKS_FILENAME}" ]]; then
|
||||
if [[ ! -s "${CHECKS_FILE}" ]]; then
|
||||
local CHECKS_URL="${DOKKU_CHECKS_URL:-http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/}"
|
||||
dokku_log_verbose "No CHECKS file found. Simple container checks will be performed."
|
||||
dokku_log_verbose "For more efficient zero downtime deployments, create a CHECKS file. See ${CHECKS_URL} for examples"
|
||||
|
||||
Reference in New Issue
Block a user