fix: 修复 Docker 部署 API 地址与数据库连接问题
This commit is contained in:
@@ -1,9 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
if (set -o pipefail) >/dev/null 2>&1; then
|
||||
set -o pipefail
|
||||
fi
|
||||
|
||||
export MSYS_NO_PATHCONV=1
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SCRIPT_PATH="$0"
|
||||
case "$SCRIPT_PATH" in
|
||||
/*) ;;
|
||||
*) SCRIPT_PATH="$(pwd)/$SCRIPT_PATH" ;;
|
||||
esac
|
||||
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$SCRIPT_PATH")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
ROOT_ENV_FILE="$ROOT_DIR/.env"
|
||||
@@ -14,14 +23,45 @@ GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
||||
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||
error() { echo -e "${RED}[ERROR]${NC} $*"; exit 1; }
|
||||
info() { printf '%b\n' "${GREEN}[INFO]${NC} $*"; }
|
||||
warn() { printf '%b\n' "${YELLOW}[WARN]${NC} $*"; }
|
||||
error() { printf '%b\n' "${RED}[ERROR]${NC} $*"; exit 1; }
|
||||
|
||||
if [ -f "$ROOT_ENV_FILE" ]; then
|
||||
ENV_OVERRIDE_WEB_HOST_SET=false
|
||||
ENV_OVERRIDE_SERVER_HOST_SET=false
|
||||
ENV_OVERRIDE_POSTGRES_HOST_SET=false
|
||||
|
||||
if [ "${WEB_HOST+x}" = x ]; then
|
||||
ENV_OVERRIDE_WEB_HOST_SET=true
|
||||
ENV_OVERRIDE_WEB_HOST="$WEB_HOST"
|
||||
fi
|
||||
|
||||
if [ "${SERVER_HOST+x}" = x ]; then
|
||||
ENV_OVERRIDE_SERVER_HOST_SET=true
|
||||
ENV_OVERRIDE_SERVER_HOST="$SERVER_HOST"
|
||||
fi
|
||||
|
||||
if [ "${POSTGRES_HOST+x}" = x ]; then
|
||||
ENV_OVERRIDE_POSTGRES_HOST_SET=true
|
||||
ENV_OVERRIDE_POSTGRES_HOST="$POSTGRES_HOST"
|
||||
fi
|
||||
|
||||
set -a
|
||||
. "$ROOT_ENV_FILE"
|
||||
set +a
|
||||
|
||||
if [ "$ENV_OVERRIDE_WEB_HOST_SET" = true ]; then
|
||||
WEB_HOST="$ENV_OVERRIDE_WEB_HOST"
|
||||
fi
|
||||
|
||||
if [ "$ENV_OVERRIDE_SERVER_HOST_SET" = true ]; then
|
||||
SERVER_HOST="$ENV_OVERRIDE_SERVER_HOST"
|
||||
fi
|
||||
|
||||
if [ "$ENV_OVERRIDE_POSTGRES_HOST_SET" = true ]; then
|
||||
POSTGRES_HOST="$ENV_OVERRIDE_POSTGRES_HOST"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${X_FINANCIAL_FORCE_SETUP:-false}" = "true" ]; then
|
||||
@@ -66,26 +106,24 @@ windows_project_path() {
|
||||
wslpath -w "$SCRIPT_DIR"
|
||||
}
|
||||
|
||||
shell_quote_single() {
|
||||
printf "%s" "$1" | sed "s/'/''/g"
|
||||
}
|
||||
|
||||
run_windows_powershell() {
|
||||
local command="$1"
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$command"
|
||||
powershell_command="$1"
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$powershell_command"
|
||||
}
|
||||
|
||||
run_windows_npm_install() {
|
||||
local win_path
|
||||
local win_path_ps
|
||||
|
||||
win_path="$(windows_project_path)"
|
||||
win_path_ps="${win_path//\'/\'\'}"
|
||||
win_path_ps="$(shell_quote_single "$win_path")"
|
||||
run_windows_powershell "Set-Location -LiteralPath '$win_path_ps'; npm install"
|
||||
}
|
||||
|
||||
run_windows_npm_start() {
|
||||
local win_path
|
||||
local win_path_ps
|
||||
|
||||
win_path="$(windows_project_path)"
|
||||
win_path_ps="${win_path//\'/\'\'}"
|
||||
win_path_ps="$(shell_quote_single "$win_path")"
|
||||
exec powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Set-Location -LiteralPath '$win_path_ps'; npm start -- --host $WEB_HOST --port $WEB_PORT"
|
||||
}
|
||||
|
||||
@@ -96,11 +134,8 @@ dependencies_ready() {
|
||||
[ -f "node_modules/vue-router/package.json" ] || return 1
|
||||
|
||||
if use_windows_npm; then
|
||||
local win_path
|
||||
local win_path_ps
|
||||
|
||||
win_path="$(windows_project_path)"
|
||||
win_path_ps="${win_path//\'/\'\'}"
|
||||
win_path_ps="$(shell_quote_single "$win_path")"
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Set-Location -LiteralPath '$win_path_ps'; node -e \"require('rollup'); require('pg'); require('vue-router')\"" >/dev/null 2>&1
|
||||
return $?
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user