safesight-control/scripts/package.sh
tian c440186ce3 fix: 统一管理端部署路径,设备详情页支持无标准配置时展示设备实际模型/人脸库
- 所有路径统一为 /opt/safesightd/{bin,config,data}
- 新增 safesightd.json.example 使用绝对路径,不含 dev 私货
- package.sh 打包时使用示例配置,README 给出完整命令
- safesightd.service 精简冗余配置
- device.html: 无标准配置时仍展示设备上的模型/资源状态
- deployment.md: 路径对齐,补全配置字段
2026-07-22 11:14:30 +08:00

54 lines
1.8 KiB
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.

#!/bin/bash
# 管理端离线部署包构建脚本
# 交叉编译 safesightd打包配置和部署脚本
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
PACKAGE_NAME="safesight-control-$(date +%Y%m%d-%H%M%S)"
BUILD_DIR="/tmp/$PACKAGE_NAME"
echo "========== 构建管理端离线部署包 =========="
echo ""
# 编译
echo "[1/2] 交叉编译..."
cd "$PROJECT_DIR"
mkdir -p "$BUILD_DIR"
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o "$BUILD_DIR/safesightd-linux-arm64" ./cmd/safesightd/ 2>/dev/null && echo " ✓ ARM64" || echo " ✗ ARM64 failed"
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o "$BUILD_DIR/safesightd-linux-amd64" ./cmd/safesightd/ 2>/dev/null && echo " ✓ AMD64" || echo " ✗ AMD64 failed"
# 打包
echo "[2/2] 打包..."
cp scripts/deploy/safesightd "$BUILD_DIR/"
cp scripts/deploy/safesightd.service "$BUILD_DIR/"
cp safesightd.json.example "$BUILD_DIR/safesightd.json.example" 2>/dev/null || true
cat > "$BUILD_DIR/README.txt" << 'EOF'
SafeSight Control 离线部署包
=============================
ARM64 设备部署:
sudo cp safesightd-linux-arm64 /opt/safesightd/bin/safesightd
sudo chmod +x /opt/safesightd/bin/safesightd
sudo mkdir -p /opt/safesightd/config /opt/safesightd/data
sudo cp safesightd.json.example /opt/safesightd/config/safesightd.json
sudo vi /opt/safesightd/config/safesightd.json # 修改 agent_token
sudo cp safesightd.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now safesightd
AMD64 设备部署:
同上,二进制改为 safesightd-linux-amd64
打开 http://<IP>:18080
EOF
cd /tmp
tar -czf "$PROJECT_DIR/$PACKAGE_NAME.tar.gz" "$PACKAGE_NAME"
rm -rf "$BUILD_DIR"
echo ""
echo "✓ 打包完成: $PROJECT_DIR/$PACKAGE_NAME.tar.gz"
ls -lh "$PROJECT_DIR/$PACKAGE_NAME.tar.gz"