- 所有路径统一为 /opt/safesightd/{bin,config,data}
- 新增 safesightd.json.example 使用绝对路径,不含 dev 私货
- package.sh 打包时使用示例配置,README 给出完整命令
- safesightd.service 精简冗余配置
- device.html: 无标准配置时仍展示设备上的模型/资源状态
- deployment.md: 路径对齐,补全配置字段
54 lines
1.8 KiB
Bash
54 lines
1.8 KiB
Bash
#!/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"
|