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 後設資料計算處理進行了重大的改進,加入了併發和增量計算的能力。所以 新的索引過程 :
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部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2702193/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【譯】Arc 在 Rust 中是如何工作的Rust
- 在Linux中,什麼是管道?它是如何工作的?Linux
- 在Linux中,什麼是SSH?它是如何工作的?Linux
- async/await 在 C# 語言中是如何工作的?(中)AIC#
- 在Linux中,什麼是守護程序,它們是如何工作的?Linux
- 在Linux中,什麼是負載均衡?它是如何工作的?Linux負載
- 在Linux中,什麼是檔案許可權?它們是如何工作的?Linux
- [譯] Virtual Dom 和 Diff 演算法在 React 中是如何工作的?演算法React
- 在Linux中,SELinux工作原理是什麼?如何啟用/禁用?Linux
- MySQL 中索引是如何實現的,有哪些型別的索引,如何進行最佳化索引MySql索引型別
- hypernetwork在SD中是怎麼工作的
- 在Linux中,什麼是虛擬記憶體?它是如何工作的?Linux記憶體
- 多型引擎如何工作在病毒中(譯)多型
- Java程式設計師在Google是如何工作的Java程式設計師Go
- for迴圈在Python中是怎麼工作的Python
- 在Linux中,keepalive工作原理是什麼及如何做到健康檢查?Linux
- 在Linux中,Keepalived的工作原理是什麼?Linux
- Ruby on Rails中的MVC架構是如何工作的AIMVC架構
- 在 Fedora 中安裝替代版本的 RPM 包
- DNS是如何工作的?DNS
- Cucumber是如何工作的?
- Javascript是如何工作的JavaScript
- Orchard是如何工作的?
- CDN是如何工作的?
- 在職場中,如何聰明地“催促”同事的工作?
- 索引是如何定期rebuild的(zt)索引Rebuild
- async/await 在 C# 語言中是如何工作的?(上)AIC#
- async/await 在 C# 語言中是如何工作的?(下)AIC#
- 我在工作中是如何優化程式碼的優化
- 如何使用Nginx對Artifactory進行http應用NginxHTTP
- instanceof 是如何工作的
- 代理IP是如何工作的?
- 代理API是如何工作的?API
- 反向代理是如何工作的?
- SOCKS代理是如何工作的?
- webpack HMR是如何工作的?Web
- oracle 11g中auto_sample_size是如何工作的Oracle
- 雜湊索引在MySQL中的探究索引MySql