Скрипт очистки артефакта по количеству версий
Существует скрипт, который удаляет артефакт, не загруженный в указанный период. Но у меня есть общая необходимость сохранить последние 10 версий (по дате) артефакта и удалить другие версии. Как решить эту проблему? Мне нужна концепция или пример кода.
1 ответ
Решение
Я решил эту проблему для репозиториев Maven. Мне этого достаточно.
- Получить все maven-metadata.xml из репозитория. /api/search/artifact?name=maven-metadata.xml&repos=$ averagerepo} и получите URI из этого json (кроме SPNAPSHOT, он будет очищен внутренней политикой хранения артефактов), затем получите другой json с помощью uri и используйте downloadUri для загрузки самого maven-metadata.xml.
- Теперь у нас есть groupId, artifactId и версии. Переверните список версий и используйте цикл с индексом, все артефакты с индексом более 10 будут удалены.