Deploy downtime


#1

What is everyone doing to minimize and manage downtime during deploys? (I’m using mup to deploy.) I’m interested both in how folks are minimizing downtime while the app is being restarted as well as if anyone has a good solution to show a static maintenance page during a deployment.


#2

Use something like nginx as a frontend to Meteor. To minimize downtime spawn the new version of the app before stopping the old and make nginx switch to the new one, then take down the old one.
To show a maintenance page write a script that reconfigures nginx to instead point to some index.html instead of the proper Meteor app. Reconfigure and reload nginx once done.
Easy to do with a bit of nginx understanding and experience, as well as with shell scripting (try shelljs if not too familiar with bash), but otherwise tricky.
Hope that helps. Don’t have any scripts to share for this stuff unfortunately.

EDIT: And yeah, not using mup myself, so can’t comment on the specifics of that. Just that this would be a generally applicable solution.