Files
admin/www/scripts/deploy-www.sh
T
2026-08-11 16:45:25 +08:00

39 lines
1.4 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
# ============================================================
# www 部署脚本:上传构建产物与部署配置到正式服务器
# 上传内容:.output/public/、nginx.conf、docker-compose.yml
# 目标:luxsin-api2:/data/project/dashboard/www
# 用法:./scripts/deploy-www.sh
# ============================================================
set -euo pipefail
REMOTE_HOST="luxsin-api2"
REMOTE_DIR="/data/project/dashboard/www"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WWW_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
# 本地需先完成静态构建(nuxt generatessr:false 产出 .output/public/index.html
if [ ! -f "${WWW_DIR}/.output/public/index.html" ]; then
echo "❌ 本地缺少 ${WWW_DIR}/.output/public/index.html,请先执行:"
echo " cd ${WWW_DIR} && pnpm generate"
exit 1
fi
echo "==> 确保远程目录存在"
ssh "${REMOTE_HOST}" "mkdir -p ${REMOTE_DIR}/.output/public"
echo "==> 同步 .output/public/--delete:删除远端已失效的旧产物)"
rsync -avz --delete -e ssh \
"${WWW_DIR}/.output/public/" "${REMOTE_HOST}:${REMOTE_DIR}/.output/public/"
echo "==> 上传 nginx.conf / docker-compose.yml"
rsync -avz -e ssh \
"${WWW_DIR}/nginx.conf" \
"${WWW_DIR}/docker-compose.yml" \
"${REMOTE_HOST}:${REMOTE_DIR}/"
echo "✅ 上传完成:${REMOTE_HOST}:${REMOTE_DIR}"
echo "下一步(在服务器上执行):"
echo " cd ${REMOTE_DIR} && docker compose up -d"