1. 问题背景与需求分析
在持续集成和自动化测试实践中,我们经常遇到这样的场景:测试脚本执行后会生成各种报告和日志文件,比如我最近负责的一个接口自动化测试项目,每次运行都会产生一个output.csv文件,里面详细记录了测试失败的用例信息,包括请求参数、预期结果和实际结果等关键数据。
最初我们团队的做法是登录到Jenkins服务器上,通过命令行去查找这些文件,效率非常低下。特别是当多个任务并行执行时,经常出现文件混淆的情况。更麻烦的是,测试团队和开发团队的成员并不都具有服务器操作权限,每次都需要运维同事协助,严重影响了问题排查效率。
经过团队讨论,我们决定将这些测试产出文件集成到Jenkins的Build Artifacts中。这样做有几个明显优势:
- 所有相关人员都可以通过Jenkins界面直接下载查看,无需服务器权限
- 文件与构建记录自动关联,历史版本一目了然
- 可以作为后续分析的输入,方便集成到其他系统
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Jenkins Artifacts 配置详解
2.1 基础配置步骤
在Jenkins中配置Artifacts其实非常简单,只需要几个步骤:
- 进入你的Jenkins任务配置页面
- 滚动到"Post-build Actions"部分
- 点击"Add post-build action"按钮
- 从下拉菜单中选择"Archive the artifacts"
这里有个小技巧:如果你找不到这个选项,可能是因为你安装的是精简版的Jenkins。需要先到插件管理页面安装"Artifact Archiver"插件。
2.2 文件路径配置技巧
配置中最关键的部分就是指定要归档的文件路径。基于我的实践经验,分享几个实用技巧:
-
使用工作区相对路径:建议使用${WORKSPACE}变量开头,这样可以避免绝对路径带来的环境依赖问题。比如:
code复制${WORKSPACE}/test-reports/output.csv -
支持通配符匹配:如果你不确定文件名或者想匹配多个文件,可以使用通配符:
code复制${WORKSPACE}/**/output*.csv这个模式会匹配工作区下所有子目录中以output开头、.csv结尾的文件。
-
多文件配置:如果需要归档多个不同类型的文件,可以用逗号分隔:
code复制${WORKSPACE}/test-reports/*.csv, ${WORKSPACE}/logs/*.log
重要提示:路径配置对大小写敏感,特别是在Linux环境下。我曾经因为把"output.csv"写成"Output.csv"导致文件找不到,排查了半天。
2.3 高级配置选项
除了基本配置外,Artifacts Archiver还提供了一些有用的高级选项:
- 仅归档成功构建:勾选"Only archive successful builds
