2.6 KiB
compare.py 使用说明文档
脚本简介
该脚本用于比较测试仓库与发布仓库新增/减少的软件包的构建差异:
- 自动下载并解压
primary.sqlite数据库文件 - 提取 SRPM 与 Binary NVR 信息
- 分析多个仓库中同一 SRPM 的二进制构建差异
- 输出本周重点分析的 SRPM 差异(新增/减少)
- 输出多仓库整体 SRPM 构建分布情况到 Excel 文件
使用方法
python3 compare.py
脚本默认读取当前目录下的 config.ini 配置文件。
配置说明
config.ini 配置格式如下:
[V10sp4-x86] baseurls = base=https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/base/x86_64/ updates=https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/ updates_test = https://update.cs2c.com.cn/private_test/repo/V10/V10SP3-2403/os/adv/lic/updates/x86_64/ filename = V10SP3-2403-x86分析报告
[V10sp3-x86] baseurls = base=https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/x86_64/ updates=https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/ updates_test = https://update.cs2c.com.cn/private_test/repo/V10/V10SP3/os/adv/lic/updates/x86_64/ filename = V10SP3-x86分析报告
支持多个产品段落,每个段落会分别输出一个分析结果。
输出内容说明
脚本会输出一个 .xlsx 文件,包含以下 Sheet:
仓库所有SRPM分析:列出所有仓库中 SRPM → Binary 包映射与差异信息外网仓库本周重点分析的SRPM:筛选重点 SRPM 在 base 与 updates 仓库中的构建差异测试仓库本周重点分析的SRPM:筛选重点 SRPM 在 base 与 updates_test 仓库中的构建差异测试仓库对比:展示 updates 与 updates_test 仓库中新增/减少的 SRPM 与 Binary 包仓库原始数据(可选):包含各仓库原始包信息
分析字段说明
输出的主要字段如下:
Repo:仓库名SRPM Name:源码包名(无版本)SRPM Version:源码包版本号(version-release)Binary Package List:构建出的二进制包名(不含版本)Binary NVR List:完整二进制包 NVRBinary Count:该 SRPM 构建的二进制包数量Binary Count Changed:是否存在包数量变动(Yes/No)Added Binaries/Removed Binaries:相对于其他版本新增/减少的二进制包名
依赖组件
- Python 3.x
requestslxmlpandasopenpyxl
安装依赖示例:
pip install requests lxml pandas openpyxl
示例输出文件
输出文件名格式如下:
<ProductName>-差异分析-YYYYMMDD-HHMM.xlsx