tutorial practices good example best jenkins

practices - Espacio libre en Jenkins eliminando el directorio ''compilaciones''



jenkins tutorial pipeline (6)

Estoy usando Jenkins para ejecutar tareas diarias con mis proyectos, pero cada ejecución, Jenkins almacena un directorio de 20MB en PROJECT_HOME / builds , así que después de muchas ejecuciones, el espacio en el disco de cada proyecto es enorme (10GB para algunas tareas de Jenkins )

No es muy importante para mí almacenar el resultado de las ejecuciones previas, así que lo que quiero saber es si existe una forma de decir Jenkins no para almacenar esa información.

¿Alguien sabe cómo evitar que Jenkins almacene el resultado de las ejecuciones anteriores?


De hecho, creo que no es realmente bueno borrar carpetas por ti mismo.

Deje que los especialistas lo hagan ¿Intentó descartar el complemento Old Builds todavía?

"Puede configurar cómo descartar compilaciones con más detalle que la función predeterminada ''Descartar compilación anterior''. Además de # de compilaciones y días, puede especificar el estado de compilación para descartar / mantener. Para compilaciones anteriores, puede configurar el intervalo para mantener compilaciones (una vez al mes, una vez cada diez compilaciones ...). También puede usar el tamaño del archivo de registro para decidir si eliminar una compilación anterior. "


Si accede a la página de configuración del proyecto, encontrará una casilla de verificación con la etiqueta "Descartar compilaciones antiguas". Al habilitar esto, puede especificar tanto el número de días para conservar las construcciones como el número máximo de construcciones que se conservarán.


Si desea que Jenkins descarte todas las compilaciones antiguas sin tener que volver a ejecutar todas las compilaciones, puede ejecutar este pequeño script desde http://scriptlerweb.appspot.com/script/show/85001 :

def jobs = Hudson.instance.items jobs.findAll{it.logRotator}.each { println("JOB : "+ it.name) try { println(it.logRotator.perform(it)) } catch (Exception e) { println("It didn''t work: "+ e) } }

Nota: para ejecutar el script en Jenkins, puede ir a la consola del script http://<server>/jenkins/script . Más información en la consola aquí: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console


Si, como yo, solo te das cuenta de que te has quedado sin espacio cuando tienes una falla de compilación, entonces querrás borrar algunas de las compilaciones más antiguas para liberar espacio. Primero cambie la configuración para descartar compilaciones antiguas como mencionó jwernerny, luego deberá comenzar una compilación para activar la limpieza de las compilaciones anteriores. La construcción puede fallar de nuevo debido a la falta de espacio libre, pero la limpieza posterior a la construcción debería ejecutarse ahora y descartar las versiones anteriores.


Desde la consola Jenkins Scriptler ejecuta la siguiente secuencia de comandos Groovy para eliminar todas las construcciones de trabajos enumerados en una vista

import jenkins.model.Jenkins hudson.model.Hudson.instance.getView(''<ViewName>'').items.each() { println it.fullDisplayName def jobname=it.fullDisplayName def item = hudson.model.Hudson.instance.getItem(jobname) def build = item.getLastBuild() if (item.getLastBuild() !=null) { Jenkins.instance.getItemByFullName(jobname).builds.findAll { it.number <= build.getNumber() }.each { it.delete() } } }


Ve a Configurar en tu proyecto.