2009-12-30 5 views
11

Tengo un servidor Hudson CI que está construyendo una creación de maven. Un proyecto principal con dos subproyectos. Uno de los subproyectos de maven crea un archivo .war bastante grande (10 MB) que se almacena para cada compilación. Me gustaría deshacerme de ese archivo .war para ahorrar espacio en disco, pero me gustaría almacenar todo lo demás que la compilación Hudson almacena en la historia (resultados de pruebas, gráficos, etc.).Cómo eliminar artefactos de construcción innecesarios en Hudson

El archivo .war se almacena bajo jobs/PROJECT_NAME/modules/PACKAGE_NAME$SUB_PROJECT_NAME/builds/2009-12-23_11-59-11/archive/PACKAGE_NAME/SUB_PROJECT_NAME/1.0/SUB_PROJECT_NAME-1.0.war

He intentado usar la configuración de trabajo de acuerdo a this SO question saber Archivo de los artefactos y Descartar todos excepto el último artefacto de éxito/estable para ahorrar espacio en disco. Pero eso en realidad lo siguiente:

  1. Se almacena una copia adicional para dos últimas compilaciones en jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war. Por lo tanto, en realidad aumenta el consumo de espacio en disco un poco.
  2. La página web de este hudson jobs contiene enlaces a archivos .war en las dos últimas compilaciones.

Mi acumulación simplemente ejecuta clean install goles en contra de los padres pom.xml.

Entonces, ¿cómo configurar el servidor Hudson y/o Maven para eliminar artefactos de construcción automáticamente desde jobs/PROJECT_NAME/modules y dejarlos en jobs/PROJECT_NAME/builds?

Respuesta

5

me encontré con este problema hace un tiempo, y simplemente se fue con una tarea programada:

10 * * * * find jobs/PROJECT_NAME/modules/ -name "*[tejw]ar" -type f -exec rm -f {} \; 

una vez por hora, que eliminará todos alquitrán, oído, archivos de guerra, y el cántaro de este directorio (y cualquier subdirectorios). Podría haber una forma de hacerlo más centrada en Hudson ...

1

Vine aquí con una pregunta similar; mi problema se resolvió con la casilla "Eliminar compilaciones antiguas". Si no te preocupa preservar los datos de construcción antiguos como lo hace OP, esta casilla de verificación es una solución más simple.

+0

Personas, recuerden ejecutar el trabajo, después de guardarlo. – Lucas

Cuestiones relacionadas