按版本计数的 Artifactory 清理脚本

Artifactory cleanup script by count of versions

script 删除指定时间段内未下载的工件。但我通常需要保留工件的最后 10 个版本(按日期)并删除其他版本。如何解决这个问题?我需要概念或代码示例。

我已经为 maven repos 解决了这个问题。对我来说足够了。

  1. 从存储库中获取所有 maven-metadata.xml。 /api/search/artifact?name=maven-metadata.xml&repos=${repo} 并从 json 获取 uri(SPNAPSHOT 除外,它将被内部人工保留策略清除),然后获取另一个json 通过 uri 并使用 downloadUri 下载 maven-metadata.xml 本身。
  2. 现在我们有了 groupId 和 artifactId 以及版本。反向版本列表并使用带索引的循环,所有索引大于 10 的工件将被删除。