docs: 添加部署指南文档

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
impressionyang 2026-04-15 18:27:39 +08:00
parent 79e39c28c9
commit db02581f5c

137
DEPLOY.md Normal file
View File

@ -0,0 +1,137 @@
# SigMesh Gateway - 部署脚本
## 自动部署脚本
### 部署到 Home Assistant
```bash
#!/bin/bash
# deploy.sh - 部署到 Home Assistant
# 配置
HA_CONFIG_DIR="${HA_CONFIG_DIR:-$HOME/.homeassistant}"
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=== SigMesh Gateway 部署脚本 ==="
echo "项目目录:$PROJECT_DIR"
echo "HA 配置目录:$HA_CONFIG_DIR"
# 创建目录
mkdir -p "$HA_CONFIG_DIR/custom_components"
# 复制集成文件
echo "复制集成文件..."
cp -r "$PROJECT_DIR/custom_components/sigmesh_gateway" \
"$HA_CONFIG_DIR/custom_components/"
# 设置权限
echo "设置权限..."
chown -R $(id -u):$(id -g) "$HA_CONFIG_DIR/custom_components/sigmesh_gateway"
# 验证配置
echo "验证配置..."
if [ -f "$HA_CONFIG_DIR/custom_components/sigmesh_gateway/manifest.json" ]; then
echo "✓ 部署成功"
echo ""
echo "下一步:"
echo "1. 重启 Home Assistant: ha core restart"
echo "2. 在 HA 中添加集成:设置 → 设备与服务 → 添加集成 → SigMesh Gateway"
else
echo "✗ 部署失败"
exit 1
fi
```
### 创建发布包(用于 HACS
```bash
#!/bin/bash
# release.sh - 创建 HACS 发布包
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
RELEASE_DIR="$PROJECT_DIR/release"
VERSION="${1:-1.0.0}"
echo "=== 创建 HACS 发布包 ==="
echo "版本:$VERSION"
# 清理旧文件
rm -rf "$RELEASE_DIR"
mkdir -p "$RELEASE_DIR"
# 复制必要文件
cp -r "$PROJECT_DIR/custom_components" "$RELEASE_DIR/"
cp "$PROJECT_DIR/hacs.json" "$RELEASE_DIR/"
cp "$PROJECT_DIR/README.md" "$RELEASE_DIR/"
cp "$PROJECT_DIR/LICENSE" "$RELEASE_DIR/" 2>/dev/null || true
# 创建 zip 包
cd "$RELEASE_DIR"
zip -r "sigmesh_gateway.zip" ./*
echo "✓ 发布包创建成功:$RELEASE_DIR/sigmesh_gateway.zip"
```
```
保存后运行:
```bash
chmod +x deploy.sh
./deploy.sh
```
---
## 快速部署命令
**一行部署**:
```bash
cp -r custom_components/sigmesh_gateway ~/.homeassistant/custom_components/ && ha core restart
```
---
## 部署检查清单
- [ ] HA 配置目录确认(默认 `~/.homeassistant`
- [ ] `custom_components` 目录存在
- [ ] 文件权限正确homeassistant 用户可读)
- [ ] 重启 HA 使集成生效
- [ ] 在 HA UI 中确认集成已加载
- [ ] 配置串口设备
- [ ] 验证实体创建成功
---
## 常见问题
**Q: 集成不显示?**
```bash
# 检查 manifest.json
cat ~/.homeassistant/custom_components/sigmesh_gateway/manifest.json
# 查看 HA 日志
tail -f ~/.homeassistant/home-assistant.log | grep sigmesh
```
**Q: 串口权限问题?**
```bash
# 添加用户到 dialout 组
sudo usermod -a -G dialout homeassistant
# 重启 HA
ha core restart
```
**Q: 如何更新代码?**
```bash
# 拉取最新代码
cd /home/ubuntu/workspace/cherry-studio/enginneer/impress_sig_mesh_hacs
git pull origin main
# 重新部署
./deploy.sh
# 重启 HA
ha core restart
```