old - ¿Cómo borro mi historial de compilación de Jenkins/Hudson?
jenkins dashboard plugin (11)
Recientemente actualicé la configuración de una de mis compilaciones hudson. El historial de compilación no está sincronizado. ¿Hay alguna manera de borrar mi historial de compilación?
Por favor y gracias
A continuación, se explica cómo eliminar TODOS LOS IDEAS PARA TODOS LOS TRABAJOS ... utilizando Jenkins Scripting.
def jobs = Jenkins.instance.projects.collect { it }
jobs.each { job -> job.getBuilds().each { it.delete() }}
Aquí hay otra opción: eliminar las compilaciones con cURL.
$ curl -X POST http://jenkins-host.tld:8080/jenkins/job/myJob/[1-56]/doDeleteAll
Lo anterior borra la compilación # 1 a # 56 para el trabajo myJob.
Si la autenticación está habilitada en la instancia de Jenkins, se debe proporcionar un nombre de usuario y un token de API como este:
$ curl -u userName:apiToken -X POST http://jenkins-host.tld:8080/jenkins/job/myJob/[1-56]/doDeleteAll
El token de API debe buscarse desde la página /me/configure
en Jenkins. Simplemente haga clic en el botón "Mostrar API Token ..." para mostrar el nombre de usuario y el token API.
Editar: uno podría tener que reemplazar doDeleteAll
por doDelete
en las URL anteriores para que esto funcione, dependiendo de la configuración o la versión de Jenkins utilizada.
Navegue a: %JENKINS_HOME%/jobs/jobName
Abra el archivo "nextBuildNumber" y cambie el número. Después de eso, recarga la configuración de Jenkins. Nota: el archivo "nextBuildNumber" contiene el siguiente build no que será utilizado por Jenkins.
Otra manera fácil de limpiar compilaciones es agregando el Descarte del complemento anterior al final de sus trabajos. Establezca un número máximo de compilaciones para guardar y luego vuelva a ejecutar el trabajo:
https://wiki.jenkins-ci.org/display/JENKINS/Discard+Old+Build+plugin
Puede modificar temporalmente la configuración del proyecto para guardar solo la última 1 compilación, volver a cargar la configuración (que debe destruir las compilaciones anteriores) y luego cambiar la configuración de nuevo al valor deseado.
Si hace clic en Administrar Hudson / Recargar configuración desde disco, Hudson volverá a cargar todos los datos del historial de compilación.
Si los datos en el disco están en mal estado, deberá ir al directorio% HUDSON_HOME% / jobs / < projectname > y restaurar los directorios de compilación como se supone que deben ser. A continuación, vuelva a cargar los datos de configuración.
Si simplemente está preguntando cómo eliminar todo el historial de compilación, puede simplemente eliminar las compilaciones una por una a través de la IU si solo hay unas pocas, o vaya al directorio% HUDSON_HOME% / jobs / < projectname > y elimine todas las compilaciones. subdirectorios allí - corresponden a las construcciones. Luego reinicie el servicio para que los cambios surtan efecto.
Si usa el método Script Console, intente utilizar lo siguiente para tener en cuenta si los trabajos se agrupan en contenedores de carpetas.
def jobName = "Your Job Name"
def job = Jenkins.instance.getItemByFullName(jobName)
o
def jobName = "My Folder/Your Job Name
def job = Jenkins.instance.getItemByFullName(jobName)
Usando Script Console.
En caso de que los trabajos estén agrupados, es posible asignarle un nombre completo con barras diagonales:
getItemByFullName("folder_name/job_name")
job.getBuilds().each { it.delete() }
job.nextBuildNumber = 1
job.save()
o atraviesa la jerarquía de esta manera:
def folder = Jenkins.instance.getItem("folder_name")
def job = folder.getItem("job_name")
job.getBuilds().each { it.delete() }
job.nextBuildNumber = 1
job.save()
Utilice la consola de secuencias de comandos (Gestionar Jenkins> Consola de secuencias de comandos) y algo así como este script para eliminar de forma masiva el historial de compilación de un trabajo https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/bulkDeleteBuilds.groovy
Ese script asume que solo quiere eliminar un rango de compilaciones. Para eliminar todas las compilaciones para un trabajo determinado, utilice esto (probado):
// change this variable to match the name of the job whose builds you want to delete
def jobName = "Your Job Name"
def job = Jenkins.instance.getItem(jobName)
job.getBuilds().each { it.delete() }
// uncomment these lines to reset the build number to 1:
//job.nextBuildNumber = 1
//job.save()
Vaya al %HUDSON_HOME%/jobs/<projectname>
remove builds
y elimine lastStable, lastSuccessful
links y elimine el archivo nextBuildNumber
.
Después de hacer los pasos anteriores, vaya al siguiente enlace desde UI
Jenkins-> Gestiona Jenkins -> Recarga la configuración desde el disco
Hará lo que necesites
Esta respuesta es para Jenkins
Vaya a la página de inicio de Jenkins → Gestione Jenkins → Consola de script
Ejecute el siguiente script allí. Cambia
copy_folder
alyour project name
Código:
def jobName = "copy_folder"
def job = Jenkins.instance.getItem(jobName)
job.getBuilds().each { it.delete() }
job.nextBuildNumber = 1
job.save()