Appearance
CoDesign.Linux 自动更新配置部署指南
概述
本文档详细说明如何配置和搭建CoDesign.Linux的自动更新功能,包括服务器端部署、客户端配置、版本发布流程等操作步骤。
前置要求
服务器环境
- HTTP/HTTPS Web服务器(如Apache、Nginx、IIS等)
- 足够的存储空间用于存放更新包
- 稳定的网络连接
客户端环境
- CoDesign.Linux插件已安装
- 网络能访问更新服务器
- 具有应用程序目录的写权限
第一步:准备更新服务器
1.1 服务器要求
您需要提供一个可通过HTTP/HTTPS访问的Web服务器目录,用于存放更新文件供CAD客户端下载。
服务器端需要提供:
- 一个公开的Web目录地址(例如:
http://your-server.com/CAD_UPDATE
) - 支持静态文件下载
- 确保目录可被外部访问
1.2 创建更新目录结构
在Web服务器的公开目录下创建以下文件结构:
CAD_UPDATE/ # 更新根目录(通过Web可访问)
├── setup.inf # 版本配置文件
├── AutoUpdate.run # 自动更新执行器
└── Update.zip # 更新包文件
访问地址示例:
- 版本配置文件:
http://your-server.com/CAD_UPDATE/setup.inf
- 更新执行器:
http://your-server.com/CAD_UPDATE/AutoUpdate.run
- 更新包:
http://your-server.com/CAD_UPDATE/Update.zip
1.3 文件权限要求
确保所有更新文件可以通过Web服务器被下载:
- 目录具有读取权限
- 所有文件具有读取权限
- AutoUpdate执行器文件具有执行权限(如果服务器需要)
第二步:准备版本配置文件
2.1 创建setup.inf文件
在更新服务器目录下创建 setup.inf
文件:
ini
[Version]
signature="$CHINA$"
AdvancedINF=1.0.2
DownloadUrl=http://your-server.com/CAD_UPDATE
DownloadInnerUrl=http://192.168.1.100/CAD_UPDATE
参数详细说明:
参数 | 说明 | 示例值 | 备注 |
---|---|---|---|
signature | 文件签名标识 | "$CHINA$" | 固定值,用于文件验证 |
AdvancedINF | 当前版本号 | 1.0.2 | 版本号格式:主版本.次版本.修订版本 |
DownloadUrl | 外网下载地址 | http://domain.com/CAD_UPDATE | 可通过互联网访问的地址 |
DownloadInnerUrl | 内网下载地址 | http://192.168.1.100/CAD_UPDATE | 局域网内部地址 |
2.2 版本号管理规则
- 主版本号:重大功能变更或架构调整
- 次版本号:新功能添加或重要功能修改
- 修订版本号:Bug修复或小幅改进
版本比较采用字符串比较,建议使用相同位数:
- ✅ 推荐:
1.0.1
→1.0.2
→1.1.0
- ❌ 不推荐:
1.0.1
→1.0.10
(字符串比较会出错)
第三步:准备更新文件
3.1 编译AutoUpdate执行器
AutoUpdate是负责实际更新操作的独立Qt应用程序,项目位于 https://codeup.aliyun.com/5ef19ae8ebe48b2dfc27b094/CoDesign.Linux.AutoUpdate.git
。
编译步骤:
使用Qt Creator编译:
- 打开Qt Creator
- 打开项目文件:
/home/kylin/CoDesign.Linux.AutoUpdate/AutoUpdate.pro
- 选择Release模式
- 编译项目,生成
AutoUpdate.run
可执行文件
生成的文件:
- 生成
AutoUpdate.run
可执行文件
- 生成
注意事项:
- AutoUpdate是独立的Qt应用程序,具有完整的更新逻辑
- 必须确保编译环境与目标运行环境兼容
- 建议在目标平台上编译以确保最佳兼容性
3.2 制作更新包 (Update.zip)
更新包包含需要更新的所有文件:
bash
# 创建更新包目录结构
mkdir -p Update/
cd Update/
# 复制需要更新的文件(参照/persistent/home/Pai/Out目录结构)
cp /Update/libCoDesign.Cad.PlugIn.zrx ./
cp /Update/setup.inf ./
cp -r /Update/CoResource/ ./
cp -r /Update/CoTemplate/ ./
cp -r /Update/Plotters/ ./
# 打包成zip文件
zip -r ../Update.zip ./*
# 验证压缩包
unzip -t ../Update.zip
更新包内容示例:
Update.zip
├── libCoDesign.Cad.PlugIn.zrx # 主插件文件
├── setup.inf # 新版本配置文件
├── CoResource/ # 资源文件目录
│ ├── BMP/ # 图标资源
│ ├── FrameDefaultAtt.xml # 默认属性配置
│ ├── ServerSetup.xml # 服务器配置
│ └── WorkArea.xml # 工作区配置
├── CoTemplate/ # 模板文件目录
│ ├── 常用知识/ # 知识库
│ ├── local/ # 本地模板
│ ├── empty.dwg # 空白模板
│ ├── template1.dwg # 模板1
│ ├── template2.dwg # 模板2
│ └── template3.dwg # 模板3
└── Plotters/ # 打印配置目录
├── GW_DWG_To_DWF.pc5 # DWF打印配置
├── GW_DWG_To_PDF.pc5 # PDF打印配置
├── GW_DWG_To_PLT.pc5 # PLT打印配置
├── GW_DWG_To_TIF.pc5 # TIF打印配置
└── PMP Files/ # PMP文件
第四步:客户端配置
4.1 确认客户端setup.inf
客户端的 setup.inf
文件在安装时就已经存在,位于插件安装目录下(即.zrx插件文件所在目录)。您只需要确认文件内容格式正确:
ini
[Version]
signature="$CHINA$"
AdvancedINF=1.0.1
DownloadUrl=http://your-server.com/CAD_UPDATE
DownloadInnerUrl=http://192.168.1.100/CAD_UPDATE
注意事项:
- 客户端版本号应低于服务器端版本号
- 下载地址必须与服务器端保持一致
- 文件在安装时已创建,无需手动创建
4.3 验证客户端权限
确保客户端具有必要的权限:
bash
# 检查应用程序目录权限
ls -la /path/to/codesign/
# 检查临时目录权限
ls -la /tmp/
# 设置正确权限(如果需要)
chmod 755 /path/to/codesign/
chmod 777 /tmp/
第五步:部署和发布新版本
5.1 发布检查清单
在发布新版本前,请确认以下项目:
- [ ] 新版本的
setup.inf
文件已准备并版本号正确递增 - [ ]
Update.zip
包含所有需要更新的文件 - [ ]
AutoUpdate.run
执行器已准备 - [ ] 服务器端文件权限设置正确
- [ ] 网络地址配置正确且可访问
5.2 发布步骤
步骤1:备份当前服务器文件
bash
# 备份当前版本(在服务器更新目录下)
cd /path/to/CAD_UPDATE
mkdir backup_$(date +%Y%m%d_%H%M%S)
cp ./* backup_*/
步骤2:上传新版本文件
将新版本文件上传到服务器的CAD_UPDATE目录:
- 上传新的setup.inf文件
- 上传Update.zip更新包
- 上传AutoUpdate执行器文件(如果有更新)
步骤3:验证文件完整性
bash
# 检查更新目录下的文件
ls -la /path/to/CAD_UPDATE/
# 验证文件大小
du -h /path/to/CAD_UPDATE/*
# 测试下载链接
curl -I http://your-server.com/CAD_UPDATE/setup.inf
curl -I http://your-server.com/CAD_UPDATE/Update.zip
第六步:测试和验证
6.1 服务器端测试
测试文件访问
bash
# 测试setup.inf下载
curl -o test_setup.inf http://your-server.com/CAD_UPDATE/setup.inf
cat test_setup.inf
# 测试Update.zip下载
curl -o test_update.zip http://your-server.com/CAD_UPDATE/Update.zip
unzip -t test_update.zip
# 测试AutoUpdate下载
curl -o test_autoupdate.run http://your-server.com/CAD_UPDATE/AutoUpdate.run
file test_autoupdate.run
测试网络连通性
bash
# 从客户端网络测试服务器连通性
ping your-server.com
telnet your-server.com 80
# 测试HTTP响应
curl -I http://your-server.com/CAD_UPDATE/setup.inf
通过遵循本指南的步骤,您可以成功搭建和配置CoDesign.Linux的自动更新功能。建议在正式环境部署前,在测试环境中完整验证整个流程。