thread-master/deploy/scripts/redeploy.sh

61 lines
1.5 KiB
Bash
Executable File
Raw Permalink 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
# 全部清除 → 起 infra → migrate → build → start
# 用法:
# ./deploy/scripts/redeploy.sh --yes
# ./deploy/scripts/redeploy.sh --yes --kill-orphan
# ./deploy/scripts/redeploy.sh --yes --keep-data # 不清 volume只重裝 app
set -euo pipefail
# shellcheck source=_common.sh
source "$(cd "$(dirname "$0")" && pwd)/_common.sh"
YES=0
KEEP_DATA=0
KILL_ORPHAN=0
for a in "$@"; do
case "$a" in
--yes|-y) YES=1 ;;
--keep-data) KEEP_DATA=1 ;;
--kill-orphan) KILL_ORPHAN=1 ;;
-h|--help)
cat <<EOF
完整重部署 Harbor Deskapps/backend + apps/web + infra
$0 --yes 清資料 + 重建 + 啟動
$0 --yes --keep-data 保留 Mongo/Redis/MinIO 資料,只重裝 app
$0 --yes --kill-orphan wipe 時清掉殘留 worker
流程:
1) stop apps
2) wipe infra volumes除非 --keep-data
3) up-infra
4) migrate不建立預設帳號
5) build
6) start gateway + vite
EOF
exit 0
;;
esac
done
[[ "$YES" == "1" ]] || die "請加 --yes 確認(會影響執行中服務;預設還會刪資料)"
load_env
if [[ "$KEEP_DATA" == "1" ]]; then
log "=== keep-data: stop apps only ==="
"$DEPLOY_DIR/scripts/stop.sh"
else
WIPE_ARGS=(--yes)
[[ "$KILL_ORPHAN" == "1" ]] && WIPE_ARGS+=(--kill-orphan)
"$DEPLOY_DIR/scripts/wipe.sh" "${WIPE_ARGS[@]}"
fi
"$DEPLOY_DIR/scripts/up-infra.sh"
"$DEPLOY_DIR/scripts/migrate.sh"
"$DEPLOY_DIR/scripts/build.sh"
"$DEPLOY_DIR/scripts/start.sh"
log ""
log "=== redeploy complete ==="
"$DEPLOY_DIR/scripts/status.sh" || true