if apps crash on startup, then fail deploy process

we saw an issue where the app started, then immediately crashed due to
a setup error. However, jenkins had already returned positively, and
the deploy continued.

cf-deploy should fail if the app doesn't start up.

We do this by looking through the cloudfoundry events, and aborting
if there are any `app.crash` events for the new GUID.
This commit is contained in:
Leo Hemsted
2017-12-14 14:23:32 +00:00
parent 304d500078
commit c6e6fad01f
2 changed files with 3 additions and 2 deletions

View File

@@ -281,6 +281,9 @@ cf-deploy: ## Deploys the app to Cloud Foundry
# sleep for 10 seconds to try and make sure that all worker threads (either web api or celery) have finished before we delete
# when we delete the DB is unbound from the app, which can cause "permission denied for relation" psycopg2 errors.
sleep 10
# get the new GUID, and find all crash events for that. If there were any crashes we will abort the deploy.
[ $(cf curl "/v2/events?q=type:app.crash&q=actee:$$(cf app --guid notify-delivery-worker-receipts)" | jq ".total_results") -eq 0 ]
cf delete -f ${CF_APP}-rollback
.PHONY: cf-deploy-api-db-migration

View File

@@ -55,8 +55,6 @@ function on_exit {
break
fi
done
echo "Application process terminated, waiting 10 seconds"
sleep 10
echo "Terminating remaining subprocesses.."
kill 0
}