Files
zhimingge/scripts/deploy.sh
T
dekun e44cdf913e Switch deployment to npm and sync pnpm-lock.yaml with lunar-javascript.
Use npm ci/install in deploy script and docs to avoid frozen pnpm lockfile failures on the server.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 20:51:35 +08:00

37 lines
766 B
Bash
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
# 知命阁(zhiminggeUbuntu 服务器更新脚本
# 用法:cd /opt/zhimingge && bash scripts/deploy.sh
set -euo pipefail
APP_DIR="/opt/zhimingge"
APP_NAME="zhimingge"
APP_PORT="${PORT:-3130}"
cd "$APP_DIR"
echo "==> 拉取最新代码..."
git pull origin main
echo "==> 安装依赖..."
npm ci || npm install
echo "==> 生产构建..."
npm run build
echo "==> 确保日志目录存在..."
mkdir -p logs
echo "==> 重启 PM2..."
if pm2 describe "$APP_NAME" > /dev/null 2>&1; then
pm2 restart "$APP_NAME"
else
pm2 start ecosystem.config.cjs
fi
pm2 save
echo "==> 部署完成,验证 http://127.0.0.1:${APP_PORT} ..."
pm2 status "$APP_NAME"
curl -s -o /dev/null -w "HTTP %{http_code}\n" "http://127.0.0.1:${APP_PORT}" || true