diff --git a/scripts/release-prod.sh b/scripts/release-prod.sh index bdaabe3..029e20f 100755 --- a/scripts/release-prod.sh +++ b/scripts/release-prod.sh @@ -20,14 +20,12 @@ TMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/memindadm-release.XXXXXX")" BUNDLE_PATH="${TMP_DIR}/memind-adm-${RELEASE_ID}.tar.gz" MANIFEST_PATH="${TMP_DIR}/memind-adm-${RELEASE_ID}.manifest.txt" SHA_PATH="${TMP_DIR}/memind-adm-${RELEASE_ID}.sha256" -MEMIND_SRC="${TEST_MEMIND_ROOT:-${ROOT}/../test-memind}" -MEMIND_LIB="${ROOT}/memind-lib" DRY_RUN=0 SKIP_BUILD=0 AUTO_YES=0 cleanup() { - rm -rf "${TMP_DIR}" "${MEMIND_LIB}" + rm -rf "${TMP_DIR}" } trap cleanup EXIT @@ -100,6 +98,7 @@ fi say "本地预检查" ssh -o BatchMode=yes -o ConnectTimeout=15 "${HOST}" "echo release-ssh-ok" >/dev/null ssh -o BatchMode=yes "${HOST}" "test -d '${APP_DIR}' && test -f '${APP_DIR}/package.json'" >/dev/null +ssh -o BatchMode=yes "${HOST}" "MEMIND_LIB_ROOT=\$(grep -E '^MEMIND_LIB_ROOT=' '${APP_DIR}/.env' | tail -1 | cut -d= -f2-); test -n \"\${MEMIND_LIB_ROOT}\" && test -f \"\${MEMIND_LIB_ROOT}/user-auth.mjs\"" >/dev/null if [[ "${SKIP_BUILD}" -ne 1 ]]; then say "本地构建 dist(103 不再执行前端构建)" @@ -114,20 +113,6 @@ fi exit 1 } -[[ -d "${MEMIND_SRC}" ]] || { - echo "缺少 test-memind 共享模块源: ${MEMIND_SRC}" >&2 - exit 1 -} - -say "打包 Memind 共享模块到 memind-lib" -rm -rf "${MEMIND_LIB}" -mkdir -p "${MEMIND_LIB}" -find "${MEMIND_SRC}" -maxdepth 1 -name '*.mjs' -exec cp -f {} "${MEMIND_LIB}/" \; -[[ -f "${MEMIND_LIB}/user-auth.mjs" ]] || { - echo "memind-lib 缺少 user-auth.mjs" >&2 - exit 1 -} - if [[ "${AUTO_YES}" -ne 1 && "${DRY_RUN}" -ne 1 ]]; then say "发布确认" echo "目标主机: ${HOST}" @@ -194,7 +179,8 @@ say() { } rollback() { - if [[ -d "${OLD_LIVE_DIR}" && ! -d "${APP_DIR}" ]]; then + if [[ -d "${OLD_LIVE_DIR}" ]]; then + rm -rf "${APP_DIR}" mv "${OLD_LIVE_DIR}" "${APP_DIR}" fi ADM_ROOT="${APP_DIR}" ADM_PORT=5174 ADM_API_PORT=8085 bash "${APP_DIR}/scripts/remote_restart.sh" >/dev/null 2>&1 || true @@ -229,6 +215,7 @@ done [[ -d "${RELEASE_DIR}/dist" ]] || { echo "release bundle missing dist/" >&2; exit 1; } [[ ! -d "${RELEASE_DIR}/src" ]] || { echo "release bundle must not contain src/" >&2; exit 1; } +[[ ! -d "${RELEASE_DIR}/memind-lib" ]] || { echo "release bundle must not contain bundled memind-lib/" >&2; exit 1; } say "安装运行依赖" cd "${RELEASE_DIR}"