diff --git a/plugins/tags/subcommands/deploy b/plugins/tags/subcommands/deploy index ebd6ec1ac..35c573595 100755 --- a/plugins/tags/subcommands/deploy +++ b/plugins/tags/subcommands/deploy @@ -6,11 +6,14 @@ source "$PLUGIN_AVAILABLE_PATH/tags/functions" tags_deploy_cmd() { declare desc="deploys an app with a given tagged image via command line" local cmd="tags:deploy" - [[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on" - local APP="$2"; local IMAGE_TAG="$3" + declare APP="$2" IMAGE_TAG="$3" + local IMAGE + [[ -z "$APP" ]] && dokku_log_fail "Please specify an app to run the command on" verify_app_name "$APP" - release_and_deploy "$APP" "$IMAGE_TAG" + IMAGE="$(get_app_image_name "$APP" "$IMAGE_TAG")" + verify_image "$IMAGE" || return 1 + release_and_deploy "$APP" "$IMAGE_TAG" } tags_deploy_cmd "$@" diff --git a/tests/unit/40_tags.bats b/tests/unit/40_tags.bats index dc6b1568f..a59cbb36b 100644 --- a/tests/unit/40_tags.bats +++ b/tests/unit/40_tags.bats @@ -46,3 +46,10 @@ teardown() { echo "status: "$status assert_success } + +@test "(tags) tags:deploy (missing tag)" { + run /bin/bash -c "dokku tags:deploy $TEST_APP missing-tag" + echo "output: "$output + echo "status: "$status + assert_failure +}