Jenkins Pipeline每日SQL统计结果导出至Excel可行性问询
可行,且有多种成熟实现方案
核心思路
通过Jenkins Pipeline调用工具将SQL统计结果转换为Excel格式,再将文件归档或存储到指定位置,后续可用于存储与对比分析。
具体实现步骤
步骤1:导出SQL统计结果为结构化中间文件
在Pipeline中执行SQL查询后,优先将结果导出为CSV格式(最易转换为Excel的结构化格式)。例如使用MySQL命令导出:mysql -u username -p${DB_PWD} -e "SELECT * FROM daily_stats;" --batch --raw > build_${BUILD_NUMBER}_stats.csv步骤2:将CSV转换为Excel文件
两种常用实现方式:- Python脚本转换:借助
pandas库快速完成格式转换,示例脚本:
在Pipeline中通过import pandas as pd import os build_num = os.environ.get('BUILD_NUMBER') df = pd.read_csv(f'build_{build_num}_stats.csv') df.to_excel(f'build_{build_num}_stats.xlsx', index=False)sh 'python3 convert_to_excel.py'执行脚本。 - Jenkins插件转换:使用
Excel Plugin或CSV to Excel Converter插件,直接在Pipeline中调用插件完成转换,无需编写额外脚本。
- Python脚本转换:借助
步骤3:归档与存储Excel文件
在Pipeline中用archiveArtifacts步骤将生成的Excel文件归档到Jenkins构建记录:archiveArtifacts artifacts: 'build_*.xlsx', fingerprint: true也可将文件上传至共享存储(如NFS、企业内部文件服务器),实现历史结果的统一管理。
步骤4:结果自动对比(可选)
若需自动对比历史结果,可编写Python脚本读取当前与历史Excel文件,用pandas进行数据比对,将差异输出到构建日志或生成对比报告,作为回归测试的判断依据。
内容的提问来源于stack exchange,提问作者DanT96
相关产品推荐
相关产品推荐

