From 06bdbd929c4dc1ef28688341540516b692fb343f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?= Date: Tue, 22 Dec 2015 22:06:19 +0100 Subject: [PATCH] Add a maintenance-mode during production deploy --- server_config/maintenance.js | 13 +++++++++++++ server_config/server_update.sh | 6 ++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 server_config/maintenance.js diff --git a/server_config/maintenance.js b/server_config/maintenance.js new file mode 100644 index 0000000..406a6e0 --- /dev/null +++ b/server_config/maintenance.js @@ -0,0 +1,13 @@ +var express = require('express'); +var app = express(); +var server = require('http').createServer(app); + +var settings = require('./settings.json'); + +app.all('*', function(req, res) { + res.status(500).send('YellowLabTools is in maintenance. It should come back soon with a new version!'); +}); + +server.listen(settings.serverPort, function() { + console.log('Maintenance mode started on port %d', server.address().port); +}); \ No newline at end of file diff --git a/server_config/server_update.sh b/server_config/server_update.sh index 01280d8..641af18 100755 --- a/server_config/server_update.sh +++ b/server_config/server_update.sh @@ -2,8 +2,9 @@ cd /space/YellowLabTools -# Stop the server +# Stop the server and start the maintenance mode forever stopall +forever start server_config/maintenance.js # Keep the settings.json file git stash @@ -18,5 +19,6 @@ npm install || exit 1 rm -rf front/build grunt build -# Restart the server +# Stop the maintenance mode and restart the server +forever stopall NODE_ENV=production forever start -c "node --stack-size=262000" bin/server.js \ No newline at end of file