fix: preserve MindSpace runtime data during release
Memind CI / Test, build, and release guards (pull_request) Successful in 2m31s
Memind CI / Test, build, and release guards (pull_request) Successful in 2m31s
This commit is contained in:
@@ -196,6 +196,8 @@ SERVICE_STARTED=0
|
||||
PORTAL_TOUCHED=0
|
||||
APP_MOVED=0
|
||||
HAD_OLD_APP=0
|
||||
PERSISTED_DATA_MOVED=0
|
||||
PERSISTED_USERS_MOVED=0
|
||||
|
||||
say() {
|
||||
printf '\n[remote %s] %s\n' "$(date +%H:%M:%S)" "$*"
|
||||
@@ -217,6 +219,16 @@ rollback() {
|
||||
rm -f "${SERVICE_PLIST}"
|
||||
fi
|
||||
if [[ "${APP_MOVED}" == "1" ]]; then
|
||||
if [[ "${HAD_OLD_APP}" == "1" ]]; then
|
||||
if [[ "${PERSISTED_DATA_MOVED}" == "1" && ( -e "${APP_DIR}/data" || -L "${APP_DIR}/data" ) ]]; then
|
||||
rm -rf "${OLD_APP_ARCHIVE}/data"
|
||||
mv "${APP_DIR}/data" "${OLD_APP_ARCHIVE}/data"
|
||||
fi
|
||||
if [[ "${PERSISTED_USERS_MOVED}" == "1" && ( -e "${APP_DIR}/users" || -L "${APP_DIR}/users" ) ]]; then
|
||||
rm -rf "${OLD_APP_ARCHIVE}/users"
|
||||
mv "${APP_DIR}/users" "${OLD_APP_ARCHIVE}/users"
|
||||
fi
|
||||
fi
|
||||
rm -rf "${APP_DIR}"
|
||||
if [[ "${HAD_OLD_APP}" == "1" && -d "${OLD_APP_ARCHIVE}" ]]; then
|
||||
mv "${OLD_APP_ARCHIVE}" "${APP_DIR}"
|
||||
@@ -309,6 +321,18 @@ fi
|
||||
mv "${NEW_DIR}" "${APP_DIR}"
|
||||
APP_MOVED=1
|
||||
|
||||
say "继承 MindSpace 持久目录"
|
||||
if [[ "${HAD_OLD_APP}" == "1" && ( -e "${OLD_APP_ARCHIVE}/data" || -L "${OLD_APP_ARCHIVE}/data" ) ]]; then
|
||||
rm -rf "${APP_DIR}/data"
|
||||
mv "${OLD_APP_ARCHIVE}/data" "${APP_DIR}/data"
|
||||
PERSISTED_DATA_MOVED=1
|
||||
fi
|
||||
if [[ "${HAD_OLD_APP}" == "1" && ( -e "${OLD_APP_ARCHIVE}/users" || -L "${OLD_APP_ARCHIVE}/users" ) ]]; then
|
||||
rm -rf "${APP_DIR}/users"
|
||||
mv "${OLD_APP_ARCHIVE}/users" "${APP_DIR}/users"
|
||||
PERSISTED_USERS_MOVED=1
|
||||
fi
|
||||
|
||||
say "启动 MindSpace service"
|
||||
mkdir -p "${APP_DIR}/data/mindspace" "${APP_DIR}/users"
|
||||
launchctl bootstrap "${LAUNCHD_GUI}" "${SERVICE_PLIST}" >/dev/null 2>&1 || true
|
||||
|
||||
Reference in New Issue
Block a user