Skip to content

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.11.0.21.1.0
  • ❌ 不推荐:1.0.11.0.10(字符串比较会出错)

第三步:准备更新文件

3.1 编译AutoUpdate执行器

AutoUpdate是负责实际更新操作的独立Qt应用程序,项目位于 https://codeup.aliyun.com/5ef19ae8ebe48b2dfc27b094/CoDesign.Linux.AutoUpdate.git

编译步骤:

  1. 使用Qt Creator编译

    • 打开Qt Creator
    • 打开项目文件:/home/kylin/CoDesign.Linux.AutoUpdate/AutoUpdate.pro
    • 选择Release模式
    • 编译项目,生成 AutoUpdate.run 可执行文件
  2. 生成的文件

    • 生成 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的自动更新功能。建议在正式环境部署前,在测试环境中完整验证整个流程。