Artifactory不删除唯一快照

Tim*_*arg 7 artifactory maven

我们有一个使用220Gb的Artifactory服务器- libs-snapshots-local存储库使用98%的存储空间.

当我们查看存储库的配置时,我们注意到Maven快照行为设置为:unique并且Max Unique Snapshots值为0.

我们将Max Unique Snapshots值更改为5.

当我们仍在处理快照时,这似乎有效,但是如果我们不再部署到快照(已经发布了版本),那么它不会删除任何这些文件.

例如:我们在Snapshots存储库中有以下内容:

com/company/some/app/1.23-SNAPSHOT/.. (50+ artifacts)
com/company/some/app/1.24-SNAPSHOT/.. (5 artifacts)
Run Code Online (Sandbox Code Playgroud)

Artifactory将当前SNAPSHOT目录(1.24-SNAPSHOT)保留为最多5个工件,但1.23-SNAPSHOT目录中的工件数量永远不会减少.

似乎Artifactory使用工件的部署来触发清理检查 - 因此,如果您不再部署到该工件,那么不会进行清理吗?

我们如何让Artifactory开始删除1.23-SNAPSHOT文件夹中的多余工件?

JBa*_*uch 4

你是对的,部署新快照会触发删除旧快照。由于您的 1.23 工件爆炸是先前(错误)配置的剩余部分,因此从现在开始您就一切顺利。

删除旧快照的最简单方法是将另一个(甚至是虚拟的)快照部署到 1.23 中。它将触发清理。

另一个想法可能是创建另一个快照存储库并将 1.23 的最后 5 个快照移至其中。然后您可以安全地删除 1.23 文件夹并将其从临时存储库移回。

所有这些都是清理一个或几个版本的有效选择,但它们无法扩展。如果您有很多版本需要清理,我建议您编写一个简单的执行用户插件

您只需获取版本目录的子目录并删除除您想要保留的少数目录之外的所有内容。

  • 还有其他方法可以解决这个问题吗?该问题在多个工件和版本中都很明显 - 事实上,我们认为绝大多数快照存储库都需要清理。 (6认同)