deploy: 2026-06-25 20:23 更新部署

This commit is contained in:
selfrelease
2026-06-25 20:23:23 +08:00
parent e65da6f294
commit 1b7f6a5b6b
+10 -9
View File
@@ -14,7 +14,7 @@
set -euo pipefail
SERVER="h2agent"
SERVER="${SERVER:-h2agent}"
REMOTE_DIR="/opt/govai"
DOMAIN="gov.opc8ai.com"
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
@@ -88,8 +88,9 @@ build_local() {
log "编译 Next.js 前端..."
cd "$PROJECT_DIR/apps/web"
rm -rf .next
NEXT_PUBLIC_API_URL="http://localhost:8080" npm run build
log "前端编译完成"
log "前端编译完成 (.next: $(du -sh .next | cut -f1))"
cd "$PROJECT_DIR"
}
@@ -101,17 +102,17 @@ upload() {
log "停止服务以释放文件锁..."
ssh $SERVER "systemctl stop govai-api govai-web 2>/dev/null || true"
log "上传后端二进制..."
scp "$PROJECT_DIR/dist/server" $SERVER:$REMOTE_DIR/server/server
log "上传后端二进制 (gzip 流)..."
gzip -c "$PROJECT_DIR/dist/server" | ssh $SERVER "gunzip -c > $REMOTE_DIR/server/server.new && mv -f $REMOTE_DIR/server/server.new $REMOTE_DIR/server/server && chmod +x $REMOTE_DIR/server/server"
log "上传迁移文件..."
rsync -az --delete "$PROJECT_DIR/server/migrations/" $SERVER:$REMOTE_DIR/migrations/
log "上传前端构建产物..."
rsync -az --delete "$PROJECT_DIR/apps/web/.next/" $SERVER:$REMOTE_DIR/web/.next/
rsync -az "$PROJECT_DIR/apps/web/public/" $SERVER:$REMOTE_DIR/web/public/ 2>/dev/null || true
scp "$PROJECT_DIR/apps/web/package.json" $SERVER:$REMOTE_DIR/web/
scp "$PROJECT_DIR/apps/web/next.config.ts" $SERVER:$REMOTE_DIR/web/
log "上传前端构建产物 (tar 压缩流, 排除 dev/cache)..."
tar czf - -C "$PROJECT_DIR/apps/web" \
--exclude='.next/dev' --exclude='.next/cache' \
.next public package.json next.config.ts \
| ssh $SERVER "rm -rf $REMOTE_DIR/web/.next && tar xzf - -C $REMOTE_DIR/web"
log "上传完成"
}