2009-12-30 3 views
11

J'ai un serveur Hudson CI qui est la construction d'une fabrication d'un build Maven. Un projet parent avec deux sous-projets. Un des sous-projets maven crée un fichier .war (10MB) plutôt grand qui est stocké pour chaque build. Je voudrais vous débarrasser de ce fichier .war pour économiser l'espace disque, mais je voudrais stocker tout le reste de l'Hudson construire des magasins dans l'histoire (les résultats des tests, des graphiques, etc.).Comment supprimer des objets de construction non nécessaires à Hudson

Le fichier .war est stocké sous 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

J'ai essayé d'utiliser la configuration de l'emploi selon this SO question savoir Archive les artefacts et Jeter tous, mais le dernier artefact réussi/stable pour économiser l'espace disque. Mais cela fait effectivement ce qui suit:

  1. Une copie supplémentaire est stockée pour deux derniers build sous jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war. Cela augmente donc la consommation d'espace disque.
  2. page Web pour cet emploi hudson contient des liens vers des fichiers .war dans les deux derniers construit.

Mon build qu'exécuter clean install buts contre parent pom.xml. Comment configurer le serveur Hudson et/ou Maven pour supprimer automatiquement les artefacts de construction sous jobs/PROJECT_NAME/modules et les laisser sous jobs/PROJECT_NAME/builds?

Répondre

5

je suis tombé sur cette question un certain temps, et nous sommes allés avec un cronjob:

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

Une fois par heure, il supprimera tout le goudron, l'oreille, la guerre, et les fichiers jar de ce répertoire (et tout sous-répertoires). Il pourrait y avoir une plus centrée sur Hudson manière façon de le faire ...

1

Je suis venu ici avec une question similaire; mon problème a été résolu avec la case "Supprimer les anciennes constructions". Si vous ne vous souciez pas de préserver les anciennes données de construction comme le fait l'OP, cette case à cocher est une solution plus simple.

+0

Les gens, rappelez-vous d'exécuter le travail, sauf après. – Lucas

Questions connexes