2011-11-03 77 views
29

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 (10 GB para algunas tareas de Jenkins).Espacio libre en Jenkins eliminar el directorio 'compilaciones'

No es muy importante para mí almacenar el resultado de las ejecuciones anteriores, 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?

+0

http://stackoverflow.com/a/42220002/6549532 –

Respuesta

39

Si va a la página de configuración del proyecto, encontrará una casilla de verificación titulada "Descartar las 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.

+0

En mi caso, No pude cambiar la configuración debido a la falta de espacio libre, así que tuve que entrar al sistema y eliminar manualmente las versiones anteriores. – ThomasW

+0

Por cierto, no he usado esto todavía, pero acabo de encontrar el Complemento de configuración de compilación que le permite especificar el n. ° de compilaciones para mantener (etc.) en todas las construcciones en la máquina Jenkins, desde una ubicación https: // wiki. jenkins-ci.org/display/JENKINS/Configuration + Slicing + Plugin –

+1

@jwernerny Una vez que hayas marcado eso, ¿cómo lo obligas a realizar la operación de descarte? – Carlos

5

Si, como yo, solo te diste cuenta de que te has quedado sin espacio cuando tienes una falla de compilación, entonces querrás borrar algunas de las versiones anteriores 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.

20

Si desea hacer Jenkins descarta toda edad construye sin tener que volver a ejecutar todas las versiones a continuación, puede ejecutar este bit de escritura tomado de 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 de Jenkins se puede ir a la consola de script http://<server>/jenkins/script. Más información en la consola aquí: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console

-1

En realidad, creo que no es bueno borrar las carpetas usted mismo.

Deje que los especialistas lo hagan. ¿Ya probaste Discard Old Builds Plugin?

"Puede configurar cómo descartar construye con más detalle que la función predeterminada 'Descartar Antiguo Construir'. Aparte # de generaciones y día, puede especificar su nivel de versión para descartar/mantener. Para construcciones mayores , usted puede configurar el intervalo para mantener compilaciones (una vez al mes, una vez en diez compilaciones ...). También puede usar el tamaño del archivo de registro para decidir si se borra una compilación anterior ".

1

vaya a Configurar en el proyecto.

1

De Jenkins Scriptler consola ejecute el siguiente script maravilloso para eliminar todos las compilaciones de puestos de trabajo que figuran 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() } 

} 
} 
Cuestiones relacionadas