feat: add offline upgrade package script and update deployment docs
This commit is contained in:
parent
43ad12ec12
commit
07bd06a9c0
@ -89,11 +89,43 @@ cat /var/lib/safesight-edge-agent/device_id
|
||||
|
||||
## 更新部署
|
||||
|
||||
在设备上更新代码和二进制:
|
||||
### 在线更新(可访问 git)
|
||||
|
||||
```bash
|
||||
cd ~/apps/safesight-edge
|
||||
git pull
|
||||
bash scripts/build.sh -m -j4
|
||||
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent && cd ..
|
||||
sudo ./scripts/deploy.sh upgrade
|
||||
```
|
||||
|
||||
### 离线更新(生产内网)
|
||||
|
||||
在开发机上编译并打包:
|
||||
|
||||
```bash
|
||||
# 在开发机(可访问 git 的机器)上执行
|
||||
cd ~/apps/safesight-edge
|
||||
git pull
|
||||
bash scripts/build.sh -m -j4
|
||||
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent && cd ..
|
||||
|
||||
# 打包升级文件
|
||||
mkdir -p /tmp/safesight-upgrade
|
||||
cp build/safesight-edge-server /tmp/safesight-upgrade/
|
||||
cp agent/safesight-edge-agent /tmp/safesight-upgrade/
|
||||
cp scripts/deploy.sh /tmp/safesight-upgrade/
|
||||
cp scripts/upgrade-from-old.sh /tmp/safesight-upgrade/
|
||||
cp -r scripts/deploy/ /tmp/safesight-upgrade/
|
||||
tar -czf safesight-upgrade-$(date +%Y%m%d).tar.gz -C /tmp safesight-upgrade
|
||||
```
|
||||
|
||||
将 `safesight-upgrade-*.tar.gz` 通过 U 盘或 scp 传到生产设备,在生产设备上:
|
||||
|
||||
```bash
|
||||
tar -xzf safesight-upgrade-*.tar.gz -C /tmp/
|
||||
cd /tmp/safesight-upgrade
|
||||
sudo ./deploy.sh upgrade # 已升级过的新设备
|
||||
# 或
|
||||
sudo ./upgrade-from-old.sh # 首次从旧版本升级
|
||||
```
|
||||
|
||||
51
scripts/package-offline.sh
Normal file
51
scripts/package-offline.sh
Normal file
@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
# 离线升级包构建脚本
|
||||
# 编译所有组件并打包,用于内网生产设备升级
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
PACKAGE_NAME="safesight-upgrade-$(date +%Y%m%d-%H%M%S)"
|
||||
BUILD_DIR="/tmp/$PACKAGE_NAME"
|
||||
|
||||
echo "========== 构建离线升级包 =========="
|
||||
echo ""
|
||||
|
||||
# 编译
|
||||
echo "[1/3] 编译 Edge Server..."
|
||||
cd "$PROJECT_DIR"
|
||||
bash scripts/build.sh -m -j4
|
||||
|
||||
echo "[2/3] 编译 Agent..."
|
||||
cd "$PROJECT_DIR/agent"
|
||||
go build -o safesight-edge-agent ./cmd/safesight-agent
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
# 打包
|
||||
echo "[3/3] 打包..."
|
||||
mkdir -p "$BUILD_DIR"
|
||||
cp build/safesight-edge-server "$BUILD_DIR/"
|
||||
cp agent/safesight-edge-agent "$BUILD_DIR/"
|
||||
cp scripts/deploy.sh "$BUILD_DIR/"
|
||||
cp scripts/upgrade-from-old.sh "$BUILD_DIR/"
|
||||
cp -r scripts/deploy/ "$BUILD_DIR/"
|
||||
|
||||
# 创建说明文件
|
||||
cat > "$BUILD_DIR/README.txt" << 'EOF'
|
||||
离线升级包使用说明
|
||||
==================
|
||||
|
||||
新设备(已升级过):
|
||||
sudo ./deploy.sh upgrade
|
||||
|
||||
旧设备(首次从 rk3588-media-server 升级):
|
||||
sudo ./upgrade-from-old.sh
|
||||
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"
|
||||
Loading…
Reference in New Issue
Block a user