En analysant l’espace disque d’un serveur, je me suis aperçu que sur notre nexus (repository manager) nous avions un historique assez impressionnant de snapshot. En effet, nous avions tous les builds depuis près de 4 ans à raison d’un build par jour. Cela occupait pas moins de 700Go.
En regardant de plus prêt la configuration de nexus, j’ai vu qu’on pouvait ajouter facilement un job pour purger les snapshots:
On peut ainsi indiquer le nombre de snapshot que l’on veut garder, mais le plus important (je trouve) est la case à cocher « remove if released ». Cela permet de supprimer tous les snapshots d’une version si celle-ci à été releasée.
ex: si nexus trouve un artefact en version 1.1.1-SNAPSHOT et 1.1.1, il supprimera tous les éléments correspondant à 1.1.1-SNAPSHOT.
Le job en lui même ne fait pas tout. Il mets les éléments dans la corbeille. Il faut donc un deuxième job pour purger la corbeille et réellement libérer l’espace sur le disque.
On peut ainsi le faire tourner toutes les semaines, pour garder une occupation de disque stable.