RPM索引在Artifactory中是如何工作

RPM

RPM是用於保存和管理RPM軟件包的倉庫。我們在RHEL和Centos系統上常用的Yum安裝就是安裝的RPM軟件包,而Yum的源就是一個RPM軟件包的倉庫。JFrog Artifactory是成熟的RPM和YUM存儲庫管理器。JFrog的官方Wiki頁面提供有關Artifactory RPM存儲庫的詳細信息。

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)

-虛擬庫計算的線程數

日誌

  • 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計算

  • 虛擬RPM存儲庫計算:

爲org.artifactory.addon.yum.virtual.index啓用每個日誌級別  :

DBUG級別:爲{path}啓動虛擬yum元數據計算

整個包邏輯過程的跟蹤級別:

爲org.jfrog.metadata.indexer.RpmRepoIndexer啓用每個日誌級別  :

TRACE級別:準備索引RPM存儲庫元數據

DEBUG級別:完成對RPM存儲庫元數據的索引編制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章