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 - 参考信息

posted @ 2020-08-22 00:13  Anliven  阅读(3658)  评论(0编辑  收藏  举报