deploy: 2026-06-25 20:23 更新部署
This commit is contained in:
@@ -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 "上传完成"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user