DevOps - JFrog Artifactory

1 - 簡介

1.1 製品庫的概念

即構建過程的輸出物,包括軟件包,測試報告,應用配置文件等可在服務器上直接 運行或可查看二進制形式的文件,通常稱之爲二進制軟件製品。
不同開發語言 所產生的製品的獲取、使用、共享方式不同,不同的製品倉庫能夠管理各自開發語言類型的二進制製品。
製品管理是對軟件研發過程中生成的產物的管理, 一般作爲最終交付物完成發佈和交付。所有的製品包,依賴組件均能夠納入統一 製品庫中統一管理。
製品庫應作爲測試及生產部署的唯一可信製品來源。

1.2 JFrog Artifactory

目前全球唯一支持所有開發語言,任意維度的元數據檢索、跨語言正反向依賴分析,並同時擁有深度遞歸、支持多活異地災備的企業級、高可用二進制製品管理倉庫。

鏈接

下載

生態環境

工具間的關係

1.3  功能列表

## 語言&工具支持
    Maven、Docker、Bower(html&js)、Chef、Puppet、CocoaPods(IOS)、Conan(C/C++)、Debian、Ruby Gems、Git LFS、Gradle、Ivy、Npm、Nuget、Opkg、Php composer、Pypi、SBT、Vagrant(box)、Rpm、Generic(通用)

## 多 Docker 鏡像註冊中心
    支持多 Docker 鏡像註冊中心,用戶可以做 Docker 鏡像的流水線 Promotion。
    刪除 Docker 鏡像時不需要停服。

## 支持 REST API
    全面覆蓋的 REST API。與 UI 松耦合,可以基於 REST API 實現自己的 UI。

## 元數據
    支持自定義屬性以及屬性集到任何 Layout 的二進制文件上;
    可以基於這些屬性進行過濾搜索,並且支持Restful 方式搜索;
    跨地域遠程代理倉庫之間可以同步屬性,管理異地協同開發。

## CI 集成
    Artifactory
    收集所有構建相關環境信息。
    收集發佈以及依賴的模塊信息。
    支持構建 Promotion 升級。
    建立二進制文件和構建的關係,多維度管理二進制文件生命週期。支持可視化的正-反向依賴關係展示。

## Checksum 檢查
    在上傳時檢查 Checksum,若發現該文件已經被上傳過,則不重複上傳。
    若文件丟失 Checksum,會重新計算並記錄。

## 主動併發下載依賴
    支持主動併發下載相關的依賴。例如 A依賴 B,B 依賴 C,Artifactory 在下載 A 的同時,會併發的下載 B 和 C。

## 任意全局查詢
    提供 AQL(Artifactory Query Language)支持任何條件的查詢,包括排序,過濾,返回字段等等。

## 深度文件查詢
    支持在任意可解壓文件裏搜索類文件,並提供地址。例如:在任意 Jar 包裏找到 .Class 文件。

## 倉庫數據統計
    提供倉庫大小,實際存儲大小,文件數量,下載量,上傳者等統計

## 查看 Jar 文件
    能夠查看 Jar文件裏的任何內容,包括 Jar 文件裏的源代碼。

## 倉庫複製
    支持文件夾級別的文件實時複製。支持併發多地複製(Multi-Push)保證多地倉庫的一致性。

## 支持高可用
    支持0宕機時間的高可用集羣,並且可以自由水平擴展。支持 Active-Active 高可用。
    
## 數據庫存儲
    安裝包默認綁定 Apache Derby。
    支持MySQL,PostgreSQL,Oracle,MS SQL Server。

2 - Docker方式運行JFrog Artifactory

https://www.jfrog.com/confluence/display/RTF/Installing+with+Docker
Pull Latest Artifactory Docker Image

docker pull docker.bintray.io/jfrog/artifactory-oss

docker run \
   --name artifactory \
   -u root \
   -d \
   -p 8083:8083 \
   -v artifactory_data:/var/opt/jfrog/artifactory \
   -v /var/run/docker.sock:/var/run/docker.sock \
   docker.bintray.io/jfrog/artifactory-oss

配置artifactory
通過 localhost:8083/artifactory 添加管理員密碼等操作,顯示artifactory已正確安裝;

  • 設置管理員賬號:  使用默認的admin/password,以後再改
  • 設置代理:  如無必要, 跳過
  • 新建代碼倉庫: 選擇倉庫類型,  其餘默認即可
    通過在jenkins中安裝artifactory插件,並在系統管理中添加配置artifactory服務器,測試連接獲取到artifactory的版本。

3 - JFrog 公網倉庫

https://repo.jfrog.org/artifactory/webapp/

4 - JFrog Container Registry

https://www.jfrog.com/confluence/display/JFROG/JFrog+Container+Registry
JFrog Artifactory目前已經成爲高可用,高併發 Docker 鏡像中心的首選方案.
JCR (JFrog Container Registry)是JFrog Artifactory 發佈免費社區版Docker鏡像倉庫,支持 Docker ,Helm 和通用倉庫。
目前已支持免費下載和使用:

4.1 Docker images

4.2 JFrog 容器鏡像倉庫功能

  • 最穩定的 Docker 鏡像中心,服務衆多企業用戶。
  • 支持 Docker ,Helm 和通用倉庫, 可以用於存儲任何類型的製品,例如.zip, .war, .tar等
  • 支持本地/遠程/虛擬倉庫,能夠爲所有研發團隊提供統一的倉庫地址
  • 支持豐富的Docker鏡像元數據,用於標識和記錄Docker 鏡像的生命週期信息
  • 支持鏡像的升級(Promotion)
  • 支持實時鏡像物理刪除
  • 支持本地部署和 SaaS 版本

4.3 功能對比

5 - 參考信息

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