首页 > 解决方案 > 按版本计数的工件清理脚本

问题描述

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

标签: groovyartifactoryartifactory-query-lang

解决方案


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

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

推荐阅读