61 votes

Comment supprimer les builds 11 à 1717 dans Jenkins ?

En raison d'une mauvaise configuration, j'ai plus de 1700 échecs de construction dans une tâche Jenkins.

Comment puis-je les nettoyer efficacement ?

1voto

Harikrishna Points 111

Allez à Manage Jenkins > script Console

Exécutez la commande suivante

def jobName = "build name"  
def job = Jenkins.instance.getItem(jobName)  
job.getBuilds().each { if(it.number >= 11 && it.number <= 1717) it.delete() }  
job.save()

0voto

Shubham Soin Points 1

J'ai créé un petit script Python qui servirait à cet effet. Voici le script :

delete_jenkins_builds.py

from os import listdir, path
import shutil

job_build_fullpath = '/var/lib/jenkins/jobs/My-Jenkins-Project/builds'
print listdir(job_build_fullpath)

for build_dir in listdir(job_build_fullpath):
        if build_dir.isdigit() and int(build_dir) in range(11, 1718):
                build_dir_fullpath = path.join(job_build_fullpath, build_dir)
                print "Deleting: " + build_dir_fullpath
                shutil.rmtree(build_dir_fullpath)
  • job_build_fullpath - Chemin du répertoire de construction du job

  • range(start_build_no, end_build_no) - range(11, 1718) recherche tous les builds allant du build no. 11 au build no. 1717. Veuillez le définir en conséquence.

  • shutil.rmtree(build_dir_fullpath) - supprime chaque répertoire de construction qui se trouve dans l'intervalle.

Version Python : 2.7

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X