RPM是用于保存和管理RPM软件包的仓库。我们在RHEL和Centos系统上常用的Yum安装就是安装的RPM软件包,而Yum的源就是一个RPM软件包的仓库。JFrog Artifactory是成熟的RPM和YUM存储库管理器。JFrog的官方Wiki页面提供有关Artifactory RPM存储库的详细信息。
Artifactory 5.5.0及之后版本,针对YUM元数据计算处理进行了重大的改进,加入了并发和增量计算的能力。所以新的索引过程:
如下图:创建RPM仓库时选择“Auto Calculate RPM Metadata”,Artifactory将会拦截Copy或Move的操作,并且自动触发计算步骤。保证在及时提供给用户最新的元数据用来获取软件包的版本
正常情况下,如果启动了以上的选项,那么当你使用REAT API或者UI部署包的时候,异步计算将会拦截文件操作,并且将索引添加操作加入到Artifactory内部的队列中进行计算。
只有关闭“Auto Calculate RPM Metadata”时才可以使用,此时您可以手动触发元数据计算。
例:
有一个CI任务可以将很多版本上传到一个大型仓库里,可以在流水线中增加一个额外的构建步骤。以下为仓库名为“rpm-release-local”,通过Rest API请求手动触发元数据计算
curl -uadmin:password -XPOST "localhost:8081/artifactory/api/yum/rpm-release-local?async=0" -i -Lvv * Connected to localhost (::1) port 8081 (#0)* Server auth using Basic with user 'admin'> POST /artifactory/api/yum/rpm-release-local?async=0 HTTP/1.1> Host: localhost:8081> Authorization: Basic YWRtaW46cGFzc3dvcmQ=> User-Agent: curl/7.54.0> Accept: */* < HTTP/1.1 200 OK< Server: Artifactory/6.3.2< X-Artifactory-Id: a9116dfeb1f6dac4:449dde33:1658a295e45:-8000< Content-Type: text/plain< Transfer-Encoding: chunked< Date: Sun, 02 Sep 2018 12:19:56 GMT |
---|
Artifactory RPM系统属性整选项(5.5.0及以上版本)
artifactory.rpm.metadata.calculation.workers(默认值为8) –本地RPM元数据计算线程数。artifactory.rpm.metadata.history.cycles.keep(默认值3) –保留元数据记录,包括已经计算完成的计算记录yum.virtual.metadata.calculation.workers(默认5)-虚拟库计算的线程数 |
---|
INFO级别:Starting to calculate Rpm metadata for
您可以在Artifactory中的以下软件包上启用调试/跟踪级别日志记录(修改$ ARTIFACTORY_HOME / etc / logback.xml)以跟踪/调试您的计算:
自动计算(异步):
DEBUG级别:{path}的异步Rpm计算
触发(同步):
DEBUG级别:{path}的同步Rpm计算
为org.artifactory.addon.yum.virtual.index启用每个日志级别 :
DBUG级别:为{path}启动虚拟yum元数据计算
整个包逻辑过程的跟踪级别:
为org.jfrog.metadata.indexer.RpmRepoIndexer启用每个日志级别 :
TRACE级别:准备索引RPM存储库元数据
DEBUG级别:完成对RPM存储库元数据的索引编制
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。