Jenkins speichert in den Standardeinstellungen alle vergangen Builds und deren Artefakte.

Um nur die letzten Builds zu behalten, gibt es zahlreiche Plugins. Da nun aber sowas meistens erst später auffällt, will man vielleicht erstmal in den alten Sachen aufräumen.

Dazu folgendes Script:

def keep_jobs = 10
def jobs = Jenkins.instance.getItems(hudson.model.FreeStyleProject)

jobs.each {
  def job = it
  def builds = job.getBuilds()
  
  if(builds.size() > keep_jobs) {
    builds[keep_jobs..-1].each {
      try {
        it.delete()
        println("deleted " + job.name + it.number)
      } catch(all) {
        println("cant deleted " + it.name + all)
      }
    }
  }
}

println("FINISH")

Hierbei werden die letzten 10 Builds behalten und der Rest wird geloescht.