关于Jenkins中‘永久保留构建’功能失效的疑问
Jenkins版本工件留存问题排查与解决方案
一、先排查这几个关键配置
- 任务级构建清理规则:打开你的版本创建任务配置,找到「构建历史记录」板块,检查「保留构建的天数/最大个数」下方的**「应用于标记为『永久保留』的构建」**选项——如果这个选项被勾选了,哪怕你给构建加了锁,它还是会被清理,必须取消这个勾选。
- 全局清理规则:进入Jenkins「系统管理」→「系统设置」,查看全局层面的构建清理配置(比如Build Discarder插件的全局规则),有些全局规则会强制覆盖任务级设置,要确保标记「永久保留」的构建被排除在清理范围外。
- 第三方插件干扰:如果安装了额外的构建清理类插件,检查插件的配置项,确认它没有把带锁的「永久保留」构建纳入清理逻辑。
二、更靠谱的版本工件留存方案
- 改用专用制品仓库:别把版本工件存在Jenkins构建历史里,构建完成后直接上传到Nexus、Harbor这类专业制品仓库——这类仓库本身有成熟的版本管理、权限控制和留存策略,比依赖Jenkins构建历史稳定得多。
- 单独做归档任务:创建一个独立的Jenkins任务,专门负责把需要长期留存的版本工件复制到专用存储(比如服务器本地的归档目录、云存储桶),同时记录版本号和存储路径,和普通构建历史彻底隔离开,避免被误清理。
- Pipeline里做持久化处理:如果用Jenkins Pipeline,在流水线中单独处理关键版本的工件,比如用
archiveArtifacts指令时明确指定要留存的文件,同时配合自定义标记逻辑,甚至直接把工件同步到外部存储,不依赖Jenkins自身的构建保留机制。
内容的提问来源于stack exchange,提问作者cberk1
相关产品推荐
相关产品推荐

