From 2cb957d1dd503d0fee2b3b146b44b2c5b7dbeeac Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Tue, 21 Apr 2015 20:17:14 -0700 Subject: [PATCH] move release_and_deploy to plugin functions. only attempt Procfile copy if we're buildstep based --- plugins/ps/commands | 21 --------------------- plugins/ps/functions | 39 +++++++++++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/plugins/ps/commands b/plugins/ps/commands index 67e5f7d92..92e28d1cc 100755 --- a/plugins/ps/commands +++ b/plugins/ps/commands @@ -3,27 +3,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x source "$(dirname $0)/../common/functions" source "$(dirname $0)/functions" -release_and_deploy() { - source "$(dirname $0)/../common/functions" - local APP="$1"; local IMAGE="dokku/$APP" - - if verify_app_image "$APP"; then - if is_image_buildstep_based "$IMAGE"; then - IMAGE_SOURCE_TYPE="buildstep" - else - IMAGE_SOURCE_TYPE="dockerfile" - fi - - dokku_log_info1 "Releasing $APP ..." - dokku release "$APP" "$IMAGE_SOURCE_TYPE" - dokku_log_info1 "Deploying $APP ..." - dokku deploy "$APP" - dokku_log_info2 "Application deployed:" - dokku urls $APP | sed "s/^/ /" - echo - fi -} - case "$1" in ps) [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 diff --git a/plugins/ps/functions b/plugins/ps/functions index 21d44dc1c..49238e4fd 100755 --- a/plugins/ps/functions +++ b/plugins/ps/functions @@ -2,6 +2,27 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x source "$(dirname $0)/../common/functions" +release_and_deploy() { + source "$(dirname $0)/../common/functions" + local APP="$1"; local IMAGE="dokku/$APP" + + if verify_app_image "$APP"; then + if is_image_buildstep_based "$IMAGE"; then + IMAGE_SOURCE_TYPE="buildstep" + else + IMAGE_SOURCE_TYPE="dockerfile" + fi + + dokku_log_info1 "Releasing $APP ..." + dokku release "$APP" "$IMAGE_SOURCE_TYPE" + dokku_log_info1 "Deploying $APP ..." + dokku deploy "$APP" + dokku_log_info2 "Application deployed:" + dokku urls $APP | sed "s/^/ /" + echo + fi +} + generate_scale_file() { local APP="$1"; local DOKKU_SCALE_FILE="$DOKKU_ROOT/$APP/DOKKU_SCALE" copy_from_image "$APP" "/app/DOKKU_SCALE" "$DOKKU_ROOT/$APP" 2>/dev/null || dokku_log_info1_quiet "DOKKU_SCALE not found in app image" @@ -9,13 +30,18 @@ generate_scale_file() { local TMP_WORK_DIR=$(mktemp --tmpdir=/tmp -d DOKKU_SCALE.XXXXX) trap 'rm -rf $TMP_WORK_DIR' EXIT - copy_from_image "$APP" /app/Procfile $TMP_WORK_DIR 2>/dev/null || true - copy_from_image "$APP" /app/.release $TMP_WORK_DIR 2>/dev/null || true - if [[ -f $TMP_WORK_DIR/Procfile ]];then - local PROCFILE="$TMP_WORK_DIR/Procfile" - elif [[ -f $TMP_WORK_DIR/.release ]];then - local PROCFILE="$TMP_WORK_DIR/.release" + if is_image_buildstep_based "$APP"; then + copy_from_image "$APP" /app/Procfile $TMP_WORK_DIR 2>/dev/null || true + copy_from_image "$APP" /app/.release $TMP_WORK_DIR 2>/dev/null || true + + if [[ -f $TMP_WORK_DIR/Procfile ]];then + local PROCFILE="$TMP_WORK_DIR/Procfile" + elif [[ -f $TMP_WORK_DIR/.release ]];then + local PROCFILE="$TMP_WORK_DIR/.release" + else + echo "web=1" >> $DOKKU_SCALE_FILE + fi else echo "web=1" >> $DOKKU_SCALE_FILE fi @@ -54,3 +80,4 @@ set_scale() { fi done } +