Jenkins "deploy to" jobs are "successful" before deployment actually is


When one of the "deploy-to" jobs (e.g. openlmis-auth-deploy-to-test) complete, their success/failure is based on the ability for the remote docker host to be contacted and the scripts run - without blocking for Nginx to be available again.

STUB as there are options below with various tradeoffs

Acceptance criteria:

  • Job should block until scripts in openlmis-deployment have completed

  • is currently the last script to run and it's last command `docker restart nginx` is the last command, whatever the last command is we should block for a period of time (lets say 1 minute) to ensure that nginx has actually restarted

  • should as it's last command: test nginx-proxy to see if it has restarted - though it would actually want to see if each service was running, which means it might have to go ping it so Java actually starts responding... blech

  • alternative to above: just block for some reasonable amount of time - 60s

  • another alternative: create/adopt a service health monitor, the script will wait 60 seconds for the health monitor service to report "all green"




Josh Zamor