Merge pull request #3800 from dokku/3799-check-failure

Properly track failed check count
This commit is contained in:
Jose Diaz-Gonzalez
2019-12-09 18:21:29 -05:00
committed by GitHub
2 changed files with 12 additions and 12 deletions

View File

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

View File

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