如何配置Jenkins Pipeline的archiveArtifacts避免展开Zip文件?
解决Jenkins归档Zip文件时显示原始HTML文件的问题
首先明确:Jenkins的archiveArtifacts步骤默认不会自动展开Zip文件,你看到的原始HTML文件出现在工件列表里,是因为压缩后这些文件仍留在工作区,且被Jenkins归档了(可能是全局配置或流水线隐含行为导致)。要解决这个问题,只需在压缩完成后删除原始的HTML和XML文件,确保只有Zip包被归档。
调整后的流水线Post阶段代码
post { always { echo ' * * Publishing JUnit results' junit testResults: 'newman/*.xml', skipPublishingChecks: true, allowEmptyResults: true echo ' * * Zipping HTMLExtra results' script { // 用Groovy生成跨平台兼容的时间戳 def timestamp = new Date().format('yyyy-MM-dd_HH-mm-ss') sh script: "zip newman/${timestamp}_htmlreports.zip newman/*.html" sh script: "zip newman/${timestamp}_junitreports.zip newman/*.xml" // 删除原始HTML和XML文件,避免被意外归档 sh script: "rm -f newman/*.html newman/*.xml" } echo ' * * Publishing results as Zip file(s)' archiveArtifacts artifacts: 'newman/*.zip', allowEmptyArchive: true } }
关键说明
- 替换shell的
date命令为Groovy内置的日期格式化,适配Windows、Linux等不同运行环境 - 压缩完成后立即删除原始文件,确保工作区仅保留Zip包,从根源避免非预期文件被归档
- 确认
archiveArtifacts未添加fingerprint等可能触发文件处理的参数,默认配置下会直接归档Zip包本身,不会解压展开
内容的提问来源于stack exchange,提问作者JoSSte
相关产品推荐
相关产品推荐

