From 15f5fcd1e39d09b55cad3d42d550291b09e46a3f Mon Sep 17 00:00:00 2001
From: Lloyd Hilaiel <lloyd@hilaiel.com>
Date: Fri, 3 Feb 2012 13:00:07 -0700
Subject: [PATCH] (aws deploy) deployer tells you what he's doing

---
 scripts/deploy_server.js | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/deploy_server.js b/scripts/deploy_server.js
index 34cf36551..9afae9b80 100755
--- a/scripts/deploy_server.js
+++ b/scripts/deploy_server.js
@@ -177,6 +177,9 @@ var deployer = new Deployer();
 var currentLogFile = null;
 // a directory where we'll deployment logs
 var deployLogDir = process.env['DEPLOY_LOG_DIR'] || temp.mkdirSync();
+
+var deployingSHA = null;
+
 console.log("deployment log dir is:", deployLogDir);
 
 [ 'info', 'ready', 'error', 'deployment_begins', 'deployment_complete', 'progress' ].forEach(function(evName) {
@@ -192,6 +195,7 @@ console.log("deployment log dir is:", deployLogDir);
 deployer.on('deployment_begins', function(r) {
   currentLogFile = fs.createWriteStream(path.join(deployLogDir, r.sha + ".txt"));
   currentLogFile.write("deployment of " + r.sha + " begins\n");
+  deployingSHA = r.sha;
 });
 
 function closeLogFile() {
@@ -203,6 +207,7 @@ function closeLogFile() {
 
 deployer.on('deployment_complete', function(r) {
   closeLogFile();
+  deployingSHA = null;
 
   // always check to see if we should try another deployment after one succeeds to handle rapid fire
   // commits
@@ -211,6 +216,8 @@ deployer.on('deployment_complete', function(r) {
 
 deployer.on('error', function(r) {
   closeLogFile();
+  deployingSHA = null;
+
   // on error, try again in 2 minutes
   setTimeout(function () {
     deployer.checkForUpdates();
@@ -234,6 +241,12 @@ deployer.on('ready', function() {
     res.send('ok');
   });
 
+  app.get('/', function(req, res) {
+    var what = "idle";
+    if (deployingSHA) what = "deploying " + deployingSHA;
+    res.send(what);
+  });
+
   app.use(express.static(deployLogDir));
 
   app.listen(process.env['PORT'] || 8080, function() {
-- 
GitLab