From 11e10fceef91694faa7c28dc53e1dc912199f507 Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Thu, 30 Jul 2015 14:29:36 -0700 Subject: [PATCH] only run domains and nginx config if we have a port and ip. fixes #1355 --- plugins/nginx-vhosts/post-deploy | 16 +++++++++------- tests.mk | 5 +++++ tests/apps/nodejs-worker/DOKKU_SCALE | 2 ++ tests/apps/nodejs-worker/Procfile | 1 + tests/apps/nodejs-worker/check_deploy | 2 ++ tests/apps/nodejs-worker/package.json | 8 ++++++++ tests/apps/nodejs-worker/worker.js | 6 ++++++ 7 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 tests/apps/nodejs-worker/DOKKU_SCALE create mode 100644 tests/apps/nodejs-worker/Procfile create mode 100755 tests/apps/nodejs-worker/check_deploy create mode 100644 tests/apps/nodejs-worker/package.json create mode 100644 tests/apps/nodejs-worker/worker.js diff --git a/plugins/nginx-vhosts/post-deploy b/plugins/nginx-vhosts/post-deploy index 3b1940dc3..145bdffa3 100755 --- a/plugins/nginx-vhosts/post-deploy +++ b/plugins/nginx-vhosts/post-deploy @@ -3,12 +3,14 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x source "$(dirname $0)/../common/functions" APP="$1" -NO_VHOST=$(dokku config:get $APP NO_VHOST || true) +if [[ -f "$DOKKU_ROOT/$APP/IP.web.1" ]] && [[ -f "$DOKKU_ROOT/$APP/PORT.web.1" ]]; then + NO_VHOST=$(dokku config:get $APP NO_VHOST || true) -if [[ -n "$NO_VHOST" ]]; then - dokku_log_info1 "NO_VHOST config detected" -elif [[ ! -f "$DOKKU_ROOT/$APP/VHOST" ]]; then - dokku domains:setup $APP + if [[ -n "$NO_VHOST" ]]; then + dokku_log_info1 "NO_VHOST config detected" + elif [[ ! -f "$DOKKU_ROOT/$APP/VHOST" ]]; then + dokku domains:setup $APP + fi + + dokku nginx:build-config $APP fi - -dokku nginx:build-config $APP diff --git a/tests.mk b/tests.mk index cfff53125..65b2c6f87 100644 --- a/tests.mk +++ b/tests.mk @@ -119,6 +119,10 @@ deploy-test-nodejs-express-noprocfile: @echo deploying nodejs-express app with no Procfile... cd tests && ./test_deploy ./apps/nodejs-express-noprocfile dokku.me +deploy-test-nodejs-worker: + @echo deploying nodejs-worker app... + cd tests && ./test_deploy ./apps/nodejs-worker dokku.me + deploy-test-php: @echo deploying php app... cd tests && ./test_deploy ./apps/php dokku.me @@ -152,6 +156,7 @@ deploy-tests: @$(QUIET) $(MAKE) deploy-test-multi @$(QUIET) $(MAKE) deploy-test-nodejs-express @$(QUIET) $(MAKE) deploy-test-nodejs-express-noprocfile + @$(QUIET) $(MAKE) deploy-test-nodejs-worker @$(QUIET) $(MAKE) deploy-test-php @$(QUIET) $(MAKE) deploy-test-python-flask @$(QUIET) $(MAKE) deploy-test-scala diff --git a/tests/apps/nodejs-worker/DOKKU_SCALE b/tests/apps/nodejs-worker/DOKKU_SCALE new file mode 100644 index 000000000..4a98d07fd --- /dev/null +++ b/tests/apps/nodejs-worker/DOKKU_SCALE @@ -0,0 +1,2 @@ +web=0 +worker=1 diff --git a/tests/apps/nodejs-worker/Procfile b/tests/apps/nodejs-worker/Procfile new file mode 100644 index 000000000..1c08998b3 --- /dev/null +++ b/tests/apps/nodejs-worker/Procfile @@ -0,0 +1 @@ +worker: node worker.js diff --git a/tests/apps/nodejs-worker/check_deploy b/tests/apps/nodejs-worker/check_deploy new file mode 100755 index 000000000..bf1cd32aa --- /dev/null +++ b/tests/apps/nodejs-worker/check_deploy @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -e; output="$(pgrep -f "node worker.js" | wc -l)"; echo "$output"; test "$output" == "1" diff --git a/tests/apps/nodejs-worker/package.json b/tests/apps/nodejs-worker/package.json new file mode 100644 index 000000000..a02e1894b --- /dev/null +++ b/tests/apps/nodejs-worker/package.json @@ -0,0 +1,8 @@ +{ + "name": "node-example", + "version": "0.0.1", + "engines": { + "node": "0.10.x", + "npm": "2.7.x" + } +} diff --git a/tests/apps/nodejs-worker/worker.js b/tests/apps/nodejs-worker/worker.js new file mode 100644 index 000000000..12133530d --- /dev/null +++ b/tests/apps/nodejs-worker/worker.js @@ -0,0 +1,6 @@ +function worker() { + console.log('sleeping for 60 seconds'); + setTimeout(worker, 60 * 1000); +} + +worker();