RPM索引在Artifactory中是如何工作

JFrog傑蛙科技發表於2020-07-03

RPM

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

Artifactory 索引 RPM 包的過程

Artifactory 5.5.0 及之後版本,針對 YUM 後設資料計算處理進行了重大的改進,加入了併發和增量計算的能力。所以 新的索引過程

n 效能上優於之前自動觸發的非同步計算

n 同時不需要在單獨開發觸發後設資料計算的外掛

n 可以監控並且準確地知道新的後設資料計算的狀態

如下圖:建立RPM 倉庫時選擇 “Auto Calculate RPM Metadata” Artifactory 將會攔截 Copy Move 的操作,並且自動觸發計算步驟。保證在及時提供給使用者最新的後設資料用來獲取軟體包的版本


RPM索引在Artifactory中是如何工作


後設資料的兩種方式

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部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2702193/,如需轉載,請註明出處,否則將追究法律責任。

相關文章