1 - 简介
1.1 制品库的概念
即构建过程的输出物,包括软件包,测试报告,应用配置文件等可在服务器上直接 运行或可查看二进制形式的文件,通常称之为二进制软件制品。
不同开发语言 所产生的制品的获取、使用、共享方式不同,不同的制品仓库能够管理各自开发语言类型的二进制制品。
制品管理是对软件研发过程中生成的产物的管理, 一般作为最终交付物完成发布和交付。所有的制品包,依赖组件均能够纳入统一 制品库中统一管理。
制品库应作为测试及生产部署的唯一可信制品来源。
1.2 JFrog Artifactory
目前全球唯一支持所有开发语言,任意维度的元数据检索、跨语言正反向依赖分析,并同时拥有深度递归、支持多活异地灾备的企业级、高可用二进制制品管理仓库。
链接
- JFrog:https://jfrog.com/
- https://www.jfrog.com/confluence/
- https://jfrog.com/knowledge-base/
- JFrong中国:https://www.jfrogchina.com/
- JFrog中国 - CSDN: https://blog.csdn.net/wangqingjiewa/
下载
- JFrog Artifactory 开源版(代替 Nexus): http://www.jfrogchina.com/open-source/
- CLI 工具: https://www.jfrogchina.com/getcli/
- jfrog / artifactory: https://bintray.com/jfrog/artifactory
- jfrog / artifactory / jfrog-artifactory-oss-zip: https://bintray.com/jfrog/artifactory/jfrog-artifactory-oss-zip
生态环境
工具间的关系
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 和通用仓库。
目前已支持免费下载和使用:
- https://jfrog.com/container-registry/
- https://jfrog.com/download-jfrog-container-registry/
- 重磅福利:JFrog Artifactory 发布免费社区版,支持 Docker ,Helm 和通用仓库 – JCR: https://blog.csdn.net/wangqingjiewa/article/details/103292579
4.1 Docker images
docker pull docker.bintray.io/jfrog/artifactory-jcr:latest
- https://www.jfrog.com/confluence/display/JCR/Welcome+to+JFrog+Container+Registry
4.2 JFrog 容器镜像仓库功能
- 最稳定的 Docker 镜像中心,服务众多企业用户。
- 支持 Docker ,Helm 和通用仓库, 可以用于存储任何类型的制品,例如.zip, .war, .tar等
- 支持本地/远程/虚拟仓库,能够为所有研发团队提供统一的仓库地址
- 支持丰富的Docker镜像元数据,用于标识和记录Docker 镜像的生命周期信息
- 支持镜像的升级(Promotion)
- 支持实时镜像物理删除
- 支持本地部署和 SaaS 版本
4.3 功能对比
5 - 参考信息
- 如何使用工具链搭建企业级CICD流水线 https://www.jianshu.com/p/fdb7aaeb043b
- 烂泥:jfrog artifactory的安装与使用 https://www.ilanni.com/?p=14689