# updateChecker **Repository Path**: zerone_space/updateChecker ## Basic Information - **Project Name**: updateChecker - **Description**: 利用Gitee、Github、Gitea的版本发布,搭建的自动更新功能。客户端应用可通过api获取最新版本并对比版本后,下载最新版本的发布文件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-06 - **Last Updated**: 2024-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动更新模块 利用github.com,gitea.com,gitee.com等平台的版本发布,搭建的自动更新功能。客户端应用可通过api获取最新版本并对比版本后,下载最新版本的发布文件。api来源可由generate_config或者load_config产生,或者update_checker带参数调用。之后调用脚本替换文件,关闭客户端,再重启,实现自动更新的效果,但这部分情况多变,故没有提供这个方法。 > 自动更新模块是基于Python 写的,但可以轻易转换为其他语言,如 JavaScript、C、C++、Go等编程语言。流程一致的,方法是相同的。 ## 使用说明 ### 下载执行文件到本地 在 Release 中下载v0.0.2 版本的发布包 `Checker.exe` ### 下载配置文件到本地 在`Checker.exe` 同一个目录下,新建一个名为`app-update.yml`的文件, 写入以下内容并保存: ```yml name: Modbus.exe url: https://gitee.com/api/v5/repos/zerone_space/updateChecker/releases/latest version: v0.0.2 ``` Tips: 懒得新建文件,也可以在代码中, 找到 `app-update.yml` , 下载到本地, 与 `Checker.exe` 放在同一个目录中。 ### 运行测试该功能 双击`Checker.exe`运行,运行之后,一般会下载三个文件: 1. 测试1 会将该[仓库](https://gitee.com/zerone_space/updateChecker)发布的最新版安装包下载到目录下:`UpdateChecker.exe` 2. 测试2 会将`app-update.yml`文件中url指向的仓库发布的最新版安装包下载到目录下: `Modbus.exe` ## 源码部署 ### 1、克隆代码到本地 ```git git clone https://gitee.com/zerone_space/updateChecker.git ``` ### 2、使用Pyton 运行 ```python Python updateChecker.py ``` ### 3、测试结果 运行之后,一般会下载三个文件: 1. 测试1 会将该[仓库](https://gitee.com/zerone_space/updateChecker)发布的最新版安装包下载到目录下:`UpdateChecker.exe` 2. 测试2 会将`app-update.yml`文件中url指向的仓库发布的最新版安装包下载到目录下: `Modbus.exe` ### 4、作为包使用 使用方式1: ```python import updateChecker checker = updateChecker(verify=False); # 禁用证书检查,生产环境建议启用 if __name__ == '__main__': config = checker.generate_config(owner='zerone_space',repos='updateChecker',provider='gitee',appName='UpdateChecker.exe',version='v0.0.0'); print(f'这些参数可以在UI中显示:\n',config); result = checker.update_checker(); print(f'这些参数可以在UI中显示:\n',result); print('你还需要将下载的包进行安装...'); ``` 使用方式2: ```python import updateChecker checker = updateChecker(verify=False); # 禁用证书检查,生产环境建议启用 if __name__ == '__main__': config = checker.load_config(ymlPath='app-update.yml'); # 加载本地config配置 print(f'通过文件导入配置文件:\n',config); result = checker.update_checker();# 检查更新 print(f'这些参数可以在UI中显示:\n',result); print('你还需要将下载的包进行安装...'); print(checker.save_config());# 保存更新版本号到文件 ``` 使用方式3: ```python import updateChecker checker = updateChecker(verify=False); # 禁用证书检查,生产环境建议启用 if __name__ == '__main__': result = checker.update_checker(url='https://gitee.com/api/v5/repos/zerone_space/updateChecker/releases/latest',version='v0.0.1',appName='Modbus.exe'); print(f'这些参数可以在UI中显示:\n',result); print('你还需要将下载的包进行安装...'); ```