一千萬個為什麽

搜索


什麽是工件存儲庫?如果它只是一個存儲文件的地方,我不能只使用源代碼管理系統嗎?

轉載註明原文: 什麽是工件存儲庫?

一共有 2 個回答:

在開發過程中,您會生成大量不同的工件。這些可能包括:

  • 源代碼
  • 已編譯的應用程序
  • 可部署的軟件包
  • 文檔

也可能是其他人

雖然可以使用源代碼管理系統來存儲所有這些文件,但通常它的效率非常低,因為源代碼管理系統通常用於處理基於文本的文件,而不是二進制文件。如果您的大多數版本都是基於文本的,並且您不必存儲大量二進制數據,則可以將它們用作簡單的存儲機制。

但是,工件存儲庫旨在存儲各種文件,包括二進制文件。這包括壓縮源代碼,構建結果,以及像docker容器這樣的東西。此外,他們通常不僅存儲這些工件,而且還使用各種附加功能幫助管理它們,例如:

  • 版本控制支持:正確存儲一些元數據,例如每個構件的構建時間,版本號,存儲哈希等。
  • 保留:確保您只保留重要的工件,並根據您可設置的各種標準自動刪除僅為快照/不再需要的快照等等。
  • 訪問控制:設置誰可以發布,誰可以下載各種工件
  • 促銷:宣傳文物的能力。例如,您可以在編碼器附近的服務器上擁有短暫保留期的快照構件,並且在實時服務器附近有一個單獨的存儲庫,其中只有可視為可部署的工件出現。這還包括對各種版本頻道的支持,以及它們之間的移動工件(如將特定版本從beta推廣到stable)。
  • 充當工件的本地存儲庫。這意味著你可以使用它作為maven,rubygems,docker等的主要存儲庫。這還可以包括從官方存儲庫中緩存工件。

存儲庫管理員和通用包存儲庫管理員(UPM)。

芬歐匯川可以為Jenkins,teamcity等存儲所有構建工件,並且通常還可以充當許多不同類型的二元工件Maven,npm,NuGet等的庫管理器。

這些將是像 Jfrog ArtifactoryInedo ProGetSonatype Nexus

一個相當不錯的比較是在這裏: https://binary-repositories-comparison.github.io/