我正在清理Jenkins(它的设置不正确),并且我需要删除每个工作都比最新的20个版本更旧的版本。
有什么办法可以使用脚本或其他方式来自动执行此操作?
我发现了很多解决方案,可以删除特定作业的某些内部版本,但似乎无法一次找到所有作业的任何内容。
任何帮助深表感谢。
您可以使用Jenkins脚本控制台遍历所有作业,获取最新的N个列表,并对其他作业执行一些操作。
import jenkins.model.Jenkins import hudson.model.Job MAX_BUILDS = 20 for (job in Jenkins.instance.items) { println job.name def recent = job.builds.limit(MAX_BUILDS) for (build in job.builds) { if (!recent.contains(build)) { println "Preparing to delete: " + build // build.delete() } } }
Jenkins脚本控制台是进行此类管理维护的出色工具,并且通常存在一个现有脚本,其功能类似于您想要的。