首页 > 自动化运维 > DevOps > RPM索引在Artifactory中是如何工作
RPM 是用于保存和管理 RPM 软件包的仓库。我们在 RHEL 和 Centos 系统上常用的 Yum 安装就是安装的 RPM 软件包,而 Yum 的源就是一个 RPM 软件包的仓库。 JFrog Artifactory 是成熟的 RPM 和 YUM 存储库管理器。 JFrog 的官方 Wiki 页面提供有关 Artifactory RPM 存储库的详细信息。
Artifactory 5.5.0 及之后版本,针对 YUM 元数据计算处理进行了重大的改进,加入了并发和增量计算的能力。所以 新的索引过程 :
n 性能上优于之前自动触发的异步计算
n 同时不需要在单独开发触发元数据计算的插件
n 可以监控并且准确地知道新的元数据计算的状态
如下图:创建RPM 仓库时选择 “Auto Calculate RPM Metadata” , Artifactory 将会拦截 Copy 或 Move 的操作,并且自动触发计算步骤。保证在及时提供给用户最新的元数据用来获取软件包的版本

n 异步:
正常情况下,如果启动了以上的选项,那么当你使用REAT API 或者 UI 部署包的时候 ,异步计算将会拦截文件操作,并且将索引添加操作加入到Artifactory 内部的队列中进行计算。
n 同步:
只有关闭“ Auto Calculate RPM Metadata ” 时才可以使用,此时您可以手动触发元数据计算。
例:
有一个CI 任务可以将很多版本上传到一个大型仓库里,可以在流水线中增加一个额外的构建步骤。以下为仓库名为 “rpm-release-local” ,通过 Rest API 请求手动触发元数据计算

Artifactory RPM 系统属性整选项( 5.5.0 及以上版本)

n RPM 日志记录 org.artifactory.addon.yum.YumAddonImpl :
INFO 级别: Starting to calculate Rpm metadata for
您可以在Artifactory 中的以下软件包上启用调试 / 跟踪级别日志记录(修改 $ ARTIFACTORY_HOME / etc / logback.xml )以跟踪 / 调试您的计算:
自动计算(异步):
DEBUG 级别: {path} 的异步 Rpm 计算
触发(同步):
DEBUG 级别: {path} 的同步 Rpm 计算
n 虚拟RPM 存储库计算:
为org.artifactory.addon.yum.virtual.index 启用每个日志级别 :
DBUG 级别:为 {path} 启动虚拟 yum 元数据计算
整个包逻辑过程的跟踪级别:
为org.jfrog.metadata.indexer.RpmRepoIndexer 启用每个日志级别 :
TRACE 级别:准备索引 RPM 存储库元数据
DEBUG 级别:完成对 RPM 存储库元数据的索引编制
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954434/viewspace-2702193/ ,如需转载,请注明出处,否则将追究法律责任。