使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获得最新版本,请访问JFrog统一平台
垃圾收集
Artifactory使用基于校验和的存储来确保每个二进制文件只存储一次。
部署新文件时,Artifactory检查是否已经存在具有相同校验和的二进制文件,如果存在,则将存储库路径链接到该二进制文件。在删除存储库路径时,Artifactory不会删除二进制文件,因为它可能被其他路径使用。然而,一旦所有指向二进制文件的路径都被删除,该文件实际上就不再被使用了。为了确保您的系统不会被未使用的二进制文件阻塞,Artifactory定期运行“垃圾收集”来识别未使用(“已删除”)的二进制文件,并从数据存储中处理它们。默认情况下,它被设置为每4小时运行一次,由控件控制cron表达式。
例如,要每12小时运行一次垃圾收集,你应该指定以下表达式:
0 0 /12 * * ?
Cron表达式 |
指定垃圾收集应自动运行的频率 |
下一次运行时间 |
指示根据指定的参数下一次自动运行垃圾收集Cron表达式 |
现在运行 |
手动立即调用垃圾收集 |
垃圾收集频率
垃圾收集是一项资源密集型操作。过于频繁地运行可能会降低系统性能。
从Artifactory 6.12.0开始,引入了一个新的更快的垃圾收集策略,并在启用时自动运行的垃圾桶设置。新的清理策略获取和取消部署位于垃圾桶存储库下的超过14天的垃圾桶构件(或以其他方式配置)。
如果此校验和没有其他工件引用,则删除链接的二进制文件。清理也在多个线程上运行(可配置,'artifact .gc. numberofworkersthreads =3')。
请注意
未引用的二进制文件(包括已存在的未引用二进制文件或已从垃圾桶中手动删除的工件)将在每次运行的前一次Full GC策略期间被删除20个GC迭代(可配置的,'artifact . GC . skipfullgcbetweenminoriterations =20')。
存储配额限制
Artifactory允许您对整个系统磁盘存储空间的使用进行限制,以确保您的服务器文件系统容量永远不会用完。这有助于保持系统的可靠性和可用性。
一旦用于存储的磁盘空间达到指定的限制,任何部署二进制文件的尝试都会被Artifactory拒绝,其状态代码为请求实体太大,界面下方提示“数据存储磁盘空间过高”错误维护屏幕上。
- 在使用文件系统存储时,选中的分区是包含
ARTIFACTORY_HOME /数据/ filestore美元
目录中。 - 使用数据库blob存储时,选中的分区是包含
$ ARTIFACTORY_HOME /数据/缓存
目录中。
- 当使用S3模板时,cache-fs将是检查分区,默认是
$ ARTIFACTORY_HOME /数据/缓存
目录中。
为了帮助您避免达到磁盘空间配额,Artifactory还允许您指定一个警告级别。一旦使用了指定百分比的磁盘空间,Artifactory将在美元ARTIFACTORY_HOME /日志/ artifactory.log
文件,并在底部显示“数据存储磁盘空间过高”警告维护屏幕上。
启用配额控制 |
设置后,Artifactory将监控磁盘空间使用情况,并根据中指定的配额发出警告和错误存储空间限制而且存储空间警告 |
存储空间限制 |
在Artifactory拒绝部署并发出错误之前,可用磁盘空间用于存储的百分比 |
存储空间警告 |
在Artifactory发出警告之前可能用于存储的可用磁盘空间的百分比 |
清理未使用的缓存工件
配置远程存储库时,可以使用保存未使用的工件通过设置,您可以指定存储库中缓存的未使用工件在成为清理的候选对象之前应该保留多长时间。此设置不会立即清理未使用的缓存工件,而只是在指定的小时数之后将其标记为清理。的清理未使用的缓存工件设置指定清除操作应该在何时运行,并且只有在这时才会从系统中实际删除标记为清除的未使用的缓存工件。
清除频率由cron表达式.例如,要每12小时运行一次清理,您应该指定以下表达式:
0 0 /12 * * ?
清理虚拟存储库
虚拟存储库使用内部缓存来存储聚合的元数据,例如POM文件。“清除虚拟存储库”操作删除超过168小时(一周)的缓存POM文件
清除频率由cron表达式.例如,要每12小时运行一次清理,您应该指定以下表达式:
0 0 /12 * * ?
存储
压缩内部数据库 |
仅Derby数据库 该特性仅在使用内部Derby数据库时相关 当从表中删除大量数据或更新索引时,Derby数据库通常可能包含未使用的已分配空间。默认情况下,Derby不会将未使用的空间返回给操作系统。例如,一旦将一个页分配给表或索引,它就不会自动返回给操作系统,直到表或索引被销毁。 当您调用此操作时,Artifactory将回收表及其索引中未使用和已分配的空间,从而压缩内部数据库。 我们建议在Artifactory活动较低时运行此操作,因为当存储繁忙时,压缩可能无法完成(在这种情况下,存储不会受到影响)。 |
修剪未引用的数据 |
由于在存储文件夹上使用错误的文件系统权限运行或存储空间不足,可能会出现未引用的二进制文件。 当您调用此操作时,Artifactory将删除文件存储或缓存文件夹中未引用的二进制文件和空文件夹。 确保完全关机 为了避免此类错误,我们建议始终允许Artifactory完全关闭 注意:此操作并不涉及删除存储库树中的空目录——当删除其中的工件后发现文件夹为空时,这些目录将自动异步删除。 |