2009-12-30 12 views
11

Ho un server Hudson CI che sta creando un build di tipo Maven. Un progetto padre con due sottoprogetti. Uno dei sottoprogetti di Maven crea un file .war (10 MB) piuttosto grande che viene archiviato per ogni build. Mi piacerebbe sbarazzarmi di quel file .war per risparmiare spazio su disco, ma mi piacerebbe archiviare tutto il resto dei negozi di Hudson nella storia (risultati dei test, grafici, ecc.).Come eliminare gli artefatti di build non necessari in Hudson

Il file .war viene memorizzato sotto 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

Ho provato con la configurazione di lavoro in base alle this SO question cioè Archive i manufatti e Eliminare tutti, ma l'ultimo manufatto successo/stabile per risparmiare spazio su disco. Ma in realtà ciò che segue è:

  1. Una copia aggiuntiva viene archiviata per due ultimi build sotto jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war. Quindi in realtà aumenta il consumo di spazio del disco un po '.
  2. La pagina Web per questi lavori hudson contiene collegamenti a file .war nelle ultime due build.

mia build solo esegue clean install gol contro il genitore pom.xml.

Quindi, come configurare Hudson server e/o Maven per rimuovere automaticamente gli artefatti di build da jobs/PROJECT_NAME/modules e lasciarli sotto jobs/PROJECT_NAME/builds?

risposta

5

mi sono imbattuto in questo problema un po 'indietro, e appena andato con un cronjob:

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

una volta ogni ora, vengono eliminati tutti i tar, orecchio, i file di guerra, e jar da questa directory (e di qualsiasi sottodirectory). Potrebbe esserci un modo più Hudson-centrico di farlo ...

1

Sono venuto qui con una domanda simile; il mio problema è stato risolto con la casella di controllo "Elimina vecchie build". Se non ti interessa conservare i vecchi dati di build come fa l'OP, questa casella di controllo è una soluzione più semplice.

+0

Le persone, ricordarsi di eseguire il lavoro, dopo averlo salvato. – Lucas

Problemi correlati