Files
bj_power/bj_power_mes/build-windows.sh
T

64 lines
2.1 KiB
Bash

#!/bin/bash
set -e
# Windows 部署包构建脚本(macOS 交叉编译?
# 输出?bin/,与 build.bat 保持一?
OUTPUT_DIR="bin"
VERSION="dev"
echo "=== 1. 构建前端 ==="
cd frontend
npm run build
cd ..
echo "=== 2. 复制前端产物?public/ ==="
rm -rf public/*
cp -r frontend/dist/* public/
echo "=== 3. 清理旧产?==="
rm -rf "$OUTPUT_DIR"
mkdir -p "$OUTPUT_DIR/etc"
mkdir -p "$OUTPUT_DIR/doc"
echo "=== 4. 编译主程?(Windows x64) ==="
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \
go build -trimpath \
-ldflags "-s -w -H=windowsgui -X main.Version=$VERSION" \
-o "$OUTPUT_DIR/bj_power_mes.exe" .
echo "=== 5. 编译数据库工?==="
cd schema/tools
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \
go build -trimpath -o "../../$OUTPUT_DIR/migrate.exe" migrate.go app.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \
go build -trimpath -o "../../$OUTPUT_DIR/data.exe" data.go app.go
cd ../..
echo "=== 6. 复制配置和数据文?==="
cp etc/bj_power_mes-api.yaml "$OUTPUT_DIR/etc/"
cp app.ico "$OUTPUT_DIR/"
cp doc/signals.sql "$OUTPUT_DIR/doc/"
cp doc/data.sql "$OUTPUT_DIR/doc/"
cp doc/reset.sql "$OUTPUT_DIR/doc/"
cp doc/engine_schema.sql "$OUTPUT_DIR/doc/"
cp doc/new_recipe.sql "$OUTPUT_DIR/doc/"
echo ""
echo "=== 构建完成 ==="
echo "输出目录: $(pwd)/$OUTPUT_DIR/"
echo ""
echo "目录结构:"
find "$OUTPUT_DIR" -type f -maxdepth 3 | sort
echo ""
echo "使用方法:"
echo " 1. ?bin/ 目录复制?Windows"
echo " 2. 安装 PostgreSQL,创建数据库 bj_power_mes"
echo " 3. 修改 etc/bj_power_mes-api.yaml 中的数据库连接信?
echo " 4. 首次部署依次执行:"
echo " migrate.exe # 创建所有表结构"
echo " data.exe signals # 导入 PLC 信号定义"
echo " data.exe seed # 导入设备/配方/产品数据"
echo " data.exe admin # 创建管理员账?admin/admin123"
echo " data.exe new-engine # 初始化新引擎表结?+ 配方(交互式输入 y?
echo " 5. 运行 bj_power_mes.exe(首次运行自动创建桌?开始菜单快捷方式)"