Мы используем нексус на каком-то старом оборудовании, ограниченном дисковым пространством, и хотели бы удалить артефакты старше определенного порога.
Есть ли способ сделать это иначе, чем комбинация find и curl?
Мы используем нексус на каком-то старом оборудовании, ограниченном дисковым пространством, и хотели бы удалить артефакты старше определенного порога.
Есть ли способ сделать это иначе, чем комбинация find и curl?
Как упоминалось в сообщении в блоге Sonatype, связанном с комментарием в блоге в ответе gavenkoa, начиная с Nexus 2.5 существует встроенная запланированная задача "Удалить выпуски из репозитория", которую можно настроить для удаления старых выпусков с сохранением определенного числа.
Этого достаточно для удовлетворения наших потребностей.
Существует запланированная задача, которая может автоматически удалять старые релизы моментальных снимков:
К сожалению, это не работает для репозиториев размещенных релизов.
Удалите все файлы, к которым никто не имеет доступа более 100 дней и не изменяется более 200 дней:
find . -type f -atime +100 -mtime 200 -delete
Чтобы очистить пустые каталоги:
find . -type d -empty -delete
Или, альтернативно, посмотрите https://github.com/akquinet/nexus_cleaner/blob/master/nexus_clean.sh и соответствующую запись в блоге http://blog.akquinet.de/2013/12/09/how-to-clean-your-nexus-release-repositories/ (удалить все, кроме последних 10 выпусков).
автоматическая очистка старше 30 дней (u может изменить ее) не загружать изображения докеров с nexus 3
https://gist.github.com/anjia0532/4a7fee95fd28d17f67412f48695bb6de
# nexus3 username and pwd
username = 'admin'
password = 'admin123'
# nexus host
nexusHost = 'http://localhost:8081'
# purge repo
repoName = 'docker'
# older than days
days = 30
#change and run it
Для Nexus2 вы можете использовать мое приложение Spring Boot https://github.com/vernetto/nexusclean, вы можете определять правила на основе даты и минимального количества сохраняемых артефактов, и оно генерирует команды "rm -rf" ( использование REST API чертовски медленно).
Для Nexus3 я бы определенно использовал скрипт Groovy в качестве "Выполнить задачу администратора". Один из них выложен здесь, отличный скрипт для удаления артефактов на Nexus 3 (не Nexus 2)