按版本计数的Artifactory清理脚本

时间:2019-01-09 10:22:40

标签: groovy artifactory artifactory-query-lang

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

1 个答案:

答案 0 :(得分:2)

我已经解决了Maven仓库的问题。对我来说足够了。

  1. 从回购中获取所有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的工件都将被删除。