JFrog Artifactory
- 1. 简介
- 2. 安装
- 3. 使用说明
- 3.1 界面展示
- 3.2 仓库搭建流程(本地库)
- 3.3 普通用户界面展示
- 3.4 上传制品,可单传或多传
- 3.5 下载制品
- 3.6 支持搜索
- 3.7 单个制品复制移动删除
- 3.8 用户管理
- 3.9 存储信息
- 3.10 基本设置
- 4. 前期调研被问到的问题
- 4.1 是否有log系统
- 4.2 备份机制
- 4.3 作为开发人员以后我要往Jfrog上传工具 需要怎么操作?
- 4.4 权限是给每个人设置不同的账号和权限吗 还是说共用账号的形式?
- 4.5 是否支持邮件通知
1. 简介
JFrog Artifactory 是目前全球唯一的支持所有开发语言,功能最强大的二进制制品仓库
。在Google、Apple、思科、甲骨文、华为、腾讯等众多世界500强公司中都有大规模使用,在二进制软件制品管理领域处于绝对领先地位。
官网 https://www.jfrogchina.com/artifactory/
作为工具、软件或数据的发布服务器比较好用,相较于以前的通过共享方式的发布服务器,这个工具提供web界面,通过web界面可以管理目录及用户权限,自动备份,校验等等功能。
笔者在公司服务器安装了这个服务(开源版),用了将近两年,总体感觉不错(起因是同事在国外网站看到的这个web界面,催着笔者也搞了一个…)。
思维导图
笔者在前期调研做的思维导图,可以看出整体功能比较完整
2. 安装
官方手册 https://jfrog.com/help/r/jfrog-installation-setup-documentation/installing-artifactory
安装比较简单,基本安装官方文档就可以搞定
支持的系统包括:linux/windows/mac
3. 使用说明
总统来说,jfrog artifactory功能比较丰富,笔者仅当作制品仓库使用,主要包括内部软件、工具发布等
3.1 界面展示
制品库界面展示了制品的一些信息,包括url,上传人,文件size,上传日期,最近修改日期,下载次数及最后一次下载等等信息
3.2 仓库搭建流程(本地库)
- 选择制品类型, 目前我们只用二进制文件存储,选Generic(普通库)
- 填写制品名称,布置类型,保存
3.3 普通用户界面展示
支持线上查看7z或zip压缩包中的内容
3.4 上传制品,可单传或多传
需要配置用户的上传权限
支持命令行,需要提前安装curl,jfrog命令行上传下载是通过curl工具。
上传:
curl -u<USERNAME>:<PASSWORD> -T <PATH_TO_FILE> "http://192.168.31.100:8081/artifactory/Tool/<TARGET_FILE_PATH>"
举例:
curl -u yurq:ABC@123 -T D:\workspace\YURQ\SplitAndCeateNDS-0.1.0.rar http://192.168.31.100:8081/artifactory/Tool/BDB/DB2/SplitAndCeateNDS-0.1.0.rar
需要指定文件名
3.5 下载制品
下载文件夹,右键文件夹,download(抱歉有些公司内部信息不能暴露)
命令行下载
下载:
curl -u<USERNAME>:<PASSWORD> -O http://192.168.31.100:8081/artifactory/Tool/<TARGET_FILE_PATH>
举例:
curl -u yurq:ABC@123 -o D:\workspace\YURQ\download\DataEncryptionTool.exe -O "http://192.168.31.100:8081/artifactory/Tool/BDB/DataEncryptionTool.exe"
3.6 支持搜索
3.7 单个制品复制移动删除
3.8 用户管理
群组管理
3.9 存储信息
3.10 基本设置
4. 前期调研被问到的问题
笔者所在公司,要部署一个软件给组内成员使用,还是很严苛的。其中被问到的问题以及笔者的回答也做了整理,希望对大家有帮助
4.1 是否有log系统
Jfrog-artifactory像一台组装机,组装了很多部件。其中他的log可以通过sumo logic进行在线界面化分析,但是只能在线分析,所以作为内部服务器(无外网),支持不了在线分析的功能。它的log整体分为4大类,包括
- artifactory-service.log,服务类
2021-04-01T06:45:56.609Z [jfac ] [INFO ] [68eb0c22f28cdebc] [.s.s.r.StaleTokenCleanupJob:62] [jf-access-task1 ] - Starting Access job to remove stale nodes and join-admin-tokens on server: VTOWPPN5EBDW2MJ
- artifactory-access.log,使用类
2021-03-31T03:42:58.334Z [30cd3ef5e6b10792] [ACCEPTED DEPLOY] NDSTool:NDS_standard/tool/databaseInspector/databaseinspector-2.7.0-bin-release-windows64/DatabaseInspector/sdk/include/lib.afw.nds.base/ndslinkdescriptor.h for client : admin / .
- artifactory-import-export.log,导入导出类
2021-03-31 12:42:45,133 [INFO ] (o.a.a.c.ImportExportStatusHolder:43) Software import finished with: 12186 Items imported: (10874 files 1312 folders). Duration: 48.88 minutes IPS: 4.15 Target: 'E:\JFrog_workspace\software'
- artifactory-request.log,访问类
2021-04-01T07:21:57.283Z|3634800a10401848|192.168.33.52|yurq|GET|/api/systemlogs/logData|200|2|0|5|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
其他log还有很多哦!
4.2 备份机制
Jfrog自带每日备份和每周备份,也可以新建备份规制,以上传的目录结构形式备份,而非看不懂的数据库
同时也有个弊端,就是可能需要很大的磁盘空间来支撑,不过可以轮替备份
4.3 作为开发人员以后我要往Jfrog上传工具 需要怎么操作?
- 手动:
1.登录有权限的账号
2.选择分支
3.选择deploy
4.select file
5.deploy
6.提示successful - 自动:
curl上传指令
4.4 权限是给每个人设置不同的账号和权限吗 还是说共用账号的形式?
可以设置每个人一个账号,也可以按组分账号,每个账号权限不同,访问的文件也可以不同
笔者是按照人员设置的账号,通过群组进行权限管理
4.5 是否支持邮件通知
相较于gitlab(码库)和harbor(镜像库),jfrog artifactory在管理制品方面还是可圈可点的,其权限管理机制,备份机制及log等等,都非常完善。当然jfrog还有很多很强大的功能,比如CI/CD等等,笔者这边虽然了解,但是还没投入使用,所以这方面没办法介绍了。