Jenkins多分支Tags视图如何仅显示最新10个标签?
Jenkins多分支项目限制标签显示数量的解决方案
你的问题核心在于:默认的orphanedItemStrategy只负责清理分支类的孤儿项目,标签的过滤和清理需要在Git分支源的标签发现特性中单独配置,两者逻辑是分开的。
要实现只保留最新10个标签,需要在DSL脚本的branchSources -> git -> traits中添加标签过滤特性,具体代码示例如下:
multibranchPipelineJob('你的多分支项目名称') { branchSources { git { remote('你的Git仓库地址') traits { // 启用标签发现(你已配置的部分) tagDiscovery() // 仅保留最新的10个标签 filterByNumberOfTags { numToKeep(10) } // 如果需要按时间过滤,可替换为以下配置(保留7天内的标签) // filterByTagAge { // daysToKeep(7) // } } } } // 原有分支清理策略可继续保留(针对分支生效) orphanedItemStrategy { defaultOrphanedItemStrategy { pruneDeadBranches(true) daysToKeepStr("7") numToKeepStr("10") } } }
关键说明:
filterByNumberOfTags特性专门用于限制保留的标签数量,Jenkins会自动清理超过设定数量的旧标签,确保Tags视图只显示最新的10个。- 如果你是通过界面配置,对应操作是在多分支项目的「Git源配置」中点击「Add trait」,选择「Filter by number of tags」后设置保留数量。
内容的提问来源于stack exchange,提问作者maress
相关产品推荐
相关产品推荐

