64 lines
2.1 KiB
Bash
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(首次运行自动创建桌��?开始菜单快捷方式)"
|