45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||
ENV_FILE="${ROOT_DIR}/deploy/.env.prod"
|
||
DEFAULT_ENV_FILE="${ROOT_DIR}/deploy/.env.prod.example"
|
||
|
||
if [ ! -f "${ENV_FILE}" ]; then
|
||
if [ -f "${DEFAULT_ENV_FILE}" ]; then
|
||
echo "⚠️ 找不到 deploy/.env.prod,先複製並填寫預設值:"
|
||
echo "cp deploy/.env.prod.example deploy/.env.prod"
|
||
else
|
||
echo "❌ 找不到 deploy/.env.prod"
|
||
fi
|
||
exit 1
|
||
fi
|
||
|
||
source "${ENV_FILE}"
|
||
|
||
TARGET_DOMAIN="${APP_DOMAIN:-vtuber.wooo.work}"
|
||
TARGET_HOST="${DEPLOY_HOST:-114.32.151.246}"
|
||
|
||
cd "${ROOT_DIR}"
|
||
|
||
echo "=== Step 1: 正式版推版到 ${DEPLOY_USER}@${TARGET_HOST} ==="
|
||
./deploy/deploy-prod.sh
|
||
|
||
echo
|
||
|
||
echo "=== Step 2: 內網服務健康檢查 ==="
|
||
curl -ksS -o /dev/null -w "[內網] /live/demo => HTTP %{http_code} | 花費 %{time_total}s\n" "http://${TARGET_HOST}:3200/live/demo"
|
||
|
||
if [ -n "${TARGET_DOMAIN}" ]; then
|
||
echo
|
||
echo "=== Step 3: 外網導向一致性檢查 ==="
|
||
./scripts/check-vtuber-offline-110.sh "${TARGET_DOMAIN}" "${TARGET_HOST}" 8.8.8.8 1
|
||
else
|
||
echo
|
||
echo "=== Step 3: 外網導向檢查已略過(缺少 APP_DOMAIN) ==="
|
||
fi
|
||
|
||
echo
|
||
echo "✅ 推版+驗證流程完成。"
|