oh-my-muse/muse-cloud/scripts/dev/start-muse-server-infra.sh

47 lines
1.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
# 使用远端 infra 基础组件启动本地 muse-server。
# 默认读取 ~/.config/muse-repo/infra.env也可以通过 MUSE_INFRA_ENV 指定其它文件。
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
REPO_DIR="$(cd -- "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd)"
ENV_FILE="${MUSE_INFRA_ENV:-${HOME}/.config/muse-repo/infra.env}"
if [[ -f "${ENV_FILE}" ]]; then
set -a
# shellcheck disable=SC1090
source "${ENV_FILE}"
set +a
fi
require_env() {
local name="$1"
if [[ -z "${!name:-}" ]]; then
echo "缺少环境变量 ${name}。请先复制 scripts/dev/infra.env.example 到 ${ENV_FILE} 并填入真实值。" >&2
exit 1
fi
}
require_env MUSE_POSTGRES_PASSWORD
require_env MUSE_REDIS_PASSWORD
export MUSE_POSTGRES_HOST="${MUSE_POSTGRES_HOST:-100.64.0.8}"
export MUSE_POSTGRES_PORT="${MUSE_POSTGRES_PORT:-5433}"
export MUSE_POSTGRES_DATABASE="${MUSE_POSTGRES_DATABASE:-muse_local}"
export MUSE_POSTGRES_USERNAME="${MUSE_POSTGRES_USERNAME:-muse_dev}"
export MUSE_REDIS_HOST="${MUSE_REDIS_HOST:-100.64.0.8}"
export MUSE_REDIS_PORT="${MUSE_REDIS_PORT:-6379}"
cd "${REPO_DIR}"
echo "启动 muse-serverprofile=local,infra数据库=${MUSE_POSTGRES_HOST}:${MUSE_POSTGRES_PORT}/${MUSE_POSTGRES_DATABASE}Redis=${MUSE_REDIS_HOST}:${MUSE_REDIS_PORT}"
echo "编译 muse-server 及其依赖模块..."
# Maven 在本机并发下载大量依赖时偶发 TLS 握手中断;单线程下载更稳。
# 本地启动只需要可运行 jar不需要编译和执行测试代码clean 可避免复用旧的 fat jar 依赖产物。
mvn -U -Dmaven.artifact.threads=1 -pl muse-server -am -Dmaven.test.skip=true clean package
echo "运行 muse-server/target/muse-server.jar"
exec java -jar muse-server/target/muse-server.jar --spring.profiles.active=local,infra