Nexus Repository 3 (NXRM3): Удалите задачу моментального снимка, не удаляя отмеченные временем артефакты - PullRequest
0 голосов
/ 13 сентября 2018

Я недавно настроил NXRM3.13.0-01 и собирал снимок артефакта в хранилище maven-snapshots. Интеграция с моей локальной сборкой maven кажется нормальной. Он читает из Nexus, развертывает последний артефакт с метками времени при сборке и получает последний моментальный снимок с метками времени при получении запроса. У меня есть задача Maven - Удалить снимок , настроенная для удаления снимков со следующей конфигурацией:

Хранилища: все хранилища
Сохранение снимка (дней): 30
Минимальное количество снимков: 3
Удалить, если выпущено: да
Льготный период после освобождения (дней): 7

Когда эта задача выполняется, она ничего не удаляет из репозитория моментальных снимков. Я также выполнил задачу Compact Blob Store после того, как в соответствии с документами на случай, если требовалось освободить место на диске, но безрезультатно. Из журналов видно, что две версии 1.0 и 5.8.01 определены как кандидаты. Однако артефакты не удаляются. В логах я вижу следующее. Не находит подходящих артефактов для удаления:

2018-09-13 10:12:49,423+0000 INFO  [qtp1041814774-1123]  admin org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'Mark Snapshots for Deletion' [repository.maven.remove-snapshots] runNow
2018-09-13 10:12:49,424+0000 INFO  [qtp1041814774-1123]  admin org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'Mark Snapshots for Deletion' [repository.maven.remove-snapshots] state change WAITING -> RUNNING
2018-09-13 10:12:49,459+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.tasks.RemoveSnapshotsTask - Task log: /nexus-data/log/tasks/repository.maven.remove-snapshots-20180913101249447.log
2018-09-13 10:12:49,460+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.tasks.RemoveSnapshotsTask - Executing removal of snapshots on repository 'maven-snapshots'
2018-09-13 10:12:49,496+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Beginning snapshot removal on repository 'maven-snapshots' with configuration: org.sonatype.nexus.repository.maven.tasks.RemoveSnapshotsConfig(minimumRetained:3, snapshotRetentionDays:30, removeIfReleased:true, gracePeriod:7)
2018-09-13 10:12:49,497+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Begin processing snapshots in repository 'maven-snapshots'
2018-09-13 10:12:49,504+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Found 2 snapshot GAVs to analyze
2018-09-13 10:12:49,516+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - ---- Searching for GAVS with snapshots that qualify for deletion on repository 'maven-snapshots' ----
2018-09-13 10:12:49,517+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Elapsed time: 12.14 ms, deleted 0 components from 0 distinct GAVs
2018-09-13 10:12:49,518+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Finished processing snapshots with more than 3 versions created before 2018-08-14T10:12:49.517Z
2018-09-13 10:12:49,518+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Updating metadata on repository 'maven-snapshots'
2018-09-13 10:12:49,519+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.repository.maven.internal.RemoveSnapshotsFacetImpl - Completed snapshot removal on repository 'maven-snapshots'
2018-09-13 10:12:49,520+0000 INFO  [quartz-5-thread-20]  *SYSTEM org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'Mark Snapshots for Deletion' [repository.maven.remove-snapshots] state change RUNNING -> WAITING (OK)

Хранилище снимков выглядит следующим образом. Я предполагаю, что две верхние версии v5.8.01-SNAPSHOT будут удалены, а две нижние будут сохранены в зависимости от конфигурации задачи:

Nexus Artifact

Мои вопросы:

  1. Я что-то пропустил?
  2. Что я могу сделать, чтобы получить желаемое поведение?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Спасибо @ khmarbaise , ваш совет работает и для Nexus2.x , но есть вещи, о которых следует позаботиться:

  • Установка Minimum snapshot count: 0 и Snapshot retention (days): 7 означает, что если за последние 7 дней не было отправлено ни одного снимка, в этой папке артефактов не было бы снимков.
  • Если установлен флажок Remove if released, папка артефакта будет удалена из репозитория моментальных снимков после выпуска окончательной версии

  • Мой пример Nexus2.x

0 голосов
/ 13 сентября 2018

Артефакты были в пределах порога хранения.Установка удержания на ноль позволила им быть удалены, как ожидалось.Спасибо @ khmarbaise

...