Artifactory 不删除唯一快照
Artifactory not deleting Unique Snapshots
我们有一个使用 220Gb 的 Artifactory 服务器 - libs-snapshots-local
存储库使用了 98% 的存储空间。
当我们查看存储库的配置时,我们注意到 Maven 快照行为设置为:unique
并且 Max Unique Snapshots 值为 0
。
我们将 Max Unique Snapshots 值更改为 5。
当我们仍在处理快照时,这似乎有效,但是如果我们不再部署到快照(已经发布),那么它不会删除任何这些文件。
举个例子:
我们在快照存储库中有以下内容:
com/company/some/app/1.23-SNAPSHOT/.. (50+ artifacts)
com/company/some/app/1.24-SNAPSHOT/.. (5 artifacts)
Artifactory 将当前 SNAPSHOT 目录 ( 1.24-SNAPSHOT
) 保留为最多 5 个工件,但是 1.23-SNAPSHOT
目录中的工件数量永远不会减少。
似乎 Artifactory 使用工件的部署来触发清理检查 - 因此,如果您不再部署到该工件,则不会进行清理?
我们如何让 Artifactory 开始删除 1.23-SNAPSHOT
文件夹中多余的工件?
你说得对,部署新快照是删除旧快照的触发因素。由于你的 1.23 神器爆炸是之前(错误)配置的遗留问题,从现在开始你就很好了。
删除旧快照的最简单方法就是将另一个(甚至是虚拟的)快照部署到 1.23 中。它将触发清理。
另一个想法可能是创建另一个快照存储库并将 1.23 的最后 5 个快照移至其中。然后您可以安全地删除 1.23 文件夹并将其从临时仓库中移回。
所有这些都是清理一个或几个版本的有效选择,但它们无法扩展。如果你有很多版本要清理,我建议写 a simple execution user plugin.
你只是 get the children of a version directory and delete 除了你想离开的少数人之外的一切。
我们有一个使用 220Gb 的 Artifactory 服务器 - libs-snapshots-local
存储库使用了 98% 的存储空间。
当我们查看存储库的配置时,我们注意到 Maven 快照行为设置为:unique
并且 Max Unique Snapshots 值为 0
。
我们将 Max Unique Snapshots 值更改为 5。
当我们仍在处理快照时,这似乎有效,但是如果我们不再部署到快照(已经发布),那么它不会删除任何这些文件。
举个例子: 我们在快照存储库中有以下内容:
com/company/some/app/1.23-SNAPSHOT/.. (50+ artifacts)
com/company/some/app/1.24-SNAPSHOT/.. (5 artifacts)
Artifactory 将当前 SNAPSHOT 目录 ( 1.24-SNAPSHOT
) 保留为最多 5 个工件,但是 1.23-SNAPSHOT
目录中的工件数量永远不会减少。
似乎 Artifactory 使用工件的部署来触发清理检查 - 因此,如果您不再部署到该工件,则不会进行清理?
我们如何让 Artifactory 开始删除 1.23-SNAPSHOT
文件夹中多余的工件?
你说得对,部署新快照是删除旧快照的触发因素。由于你的 1.23 神器爆炸是之前(错误)配置的遗留问题,从现在开始你就很好了。
删除旧快照的最简单方法就是将另一个(甚至是虚拟的)快照部署到 1.23 中。它将触发清理。
另一个想法可能是创建另一个快照存储库并将 1.23 的最后 5 个快照移至其中。然后您可以安全地删除 1.23 文件夹并将其从临时仓库中移回。
所有这些都是清理一个或几个版本的有效选择,但它们无法扩展。如果你有很多版本要清理,我建议写 a simple execution user plugin.
你只是 get the children of a version directory and delete 除了你想离开的少数人之外的一切。