Jenkins并发构建时后续构建无法归档工件问题求助
Jenkins并发构建最后一次无法归档工件的解决方法
问题核心原因
你硬编码了具体的工作空间名称(workspace-2),但Jenkins并发构建的工作空间命名是动态分配的——第一次构建用workspace-2,后续并发构建可能使用其他编号的工作空间。当最后一次构建尝试归档时,它实际的工作空间并非workspace-2,自然匹配不到文件,而你在从节点看到的是第一次构建遗留的工件。
具体修复方案
1. 改用相对路径归档
删除归档配置中的workspace-2/前缀,直接使用相对于当前构建工作空间的路径:
results*/
Jenkins归档步骤默认会在当前构建的专属工作空间内查找文件,无需指定固定工作空间名称。
2. 配置独立工作空间
在项目配置的高级项目选项中,勾选使用自定义工作空间,并设置唯一路径模板:
${JOB_NAME}/${BUILD_NUMBER}
每个并发构建都会生成独立的工作空间,彻底避免不同构建间的文件干扰。
3. 检查清理逻辑
如果构建流程中有工作空间清理步骤,必须确保它在归档完成后执行。避免在构建结束前就删除了待归档的工件,比如把清理步骤移到归档步骤之后,或使用Jenkins内置的构建后清理功能。
4. 修正归档路径配置
删除重复的路径规则(你当前配置里的workspace-2/results*/, workspace-2/results*属于重复配置),简化为单一正确的匹配规则,减少匹配逻辑出错的概率。
内容的提问来源于stack exchange,提问作者Sachin Mamoru
相关产品推荐
相关产品推荐

