当前位置: 首页 > news >正文

Ubuntu 20.04+安装JFrog CLI超详细指南

Ubuntu 20.04+ 安装 JFrog CLI(jf 命令)超详细教程

适用:Ubuntu 20.04 / 22.04 / 24.04,amd64/arm64,解决 jfr 旧版、无 jf 命令问题
官方下载:https://jfrog.com/getcli/
作者:Linux运维/制品库实践

一、前置说明

  • JFrog CLI v2 统一命令为jf,旧版 v1 是jfr,本文只装 v2 最新版
  • 全程命令可直接复制执行,无需修改(除私服地址/账号)
  • 配置文件自动保存在~/.jfrog/,无需手动创建目录

二、卸载旧版本(必须,避免冲突)

# 卸载 apt 安装的旧版sudoaptremove-yjfrog-cli jfrog-cli-v2-jf# 删除残留二进制sudorm-f/usr/local/bin/jfr /usr/local/bin/jf /usr/bin/jf# 清空旧配置(可选,重置所有私服连接)rm-rf~/.jfrog/

三、官方一键安装(推荐,自动适配架构)

方法1:curl 官方脚本(最快)

# 官方最新安装脚本(v2)curl-fLhttps://install-cli.jfrog.io|sh# 移动到系统 PATH 目录sudomv./jf /usr/local/bin/# 赋予执行权限sudochmod+x /usr/local/bin/jf

方法2:apt 源安装(适合长期维护)

# 导入 GPG 密钥wget-qO- https://releases.jfrog.io/artifactory/jfrog-gpg-public/jfrog_public_gpg.key|sudogpg--dearmor-o/usr/share/keyrings/jfrog-archive-keyring.gpg# 添加 JFrog apt 源echo"deb [signed-by=/usr/share/keyrings/jfrog-archive-keyring.gpg] https://releases.jfrog.io/artifactory/jfrog-debs stable main"|sudotee/etc/apt/sources.list.d/jfrog.list# 更新并安装sudoaptupdatesudoaptinstall-yjfrog-cli-v2-jf

四、验证安装成功

# 查看版本jf-v# 或jf--version

输出类似:jf version 2.65.0即成功

五、配置 JFrog 私服连接(核心)

1. 交互式配置(新手推荐)

jf cadd# 等价 jf config add

按提示依次输入:

  1. 服务别名(自定义,如:my_jfrog
  2. JFrog 平台地址:http://xxx.xxx.xxx.xxx/
  3. 选择Save and continue(默认 Artifactory/Xray 等路径)
  4. 输入用户名、密码/API Token

2. 非交互式配置(脚本/CI 用)

jf caddmy_jfrog\--url=http://xxx.xxx.xxx.xxx/\--user=你的用户名\--password=你的密码\--interactive=false

3. 常用配置命令

# 查看所有已配置服务器jf c show# 切换默认服务器(多私服环境)jf c use my_jfrog# 删除指定服务器配置jf c remove my_jfrog

六、核心实战:上传文件到指定目录(自动建目录)

地址拆解(你的私服)

原地址:`http://xxx.xxx.xxx.xxx/artifactory/dest-dirs

  • 远程目录:dest-dirs`
  • 目录不存在会自动递归创建,无需网页端新建

上传命令(直接复制改文件名)

# 上传单个文件jf rt upload test.rpm dest-dirs# 批量上传当前目录所有 .rpmjf rt upload"*.rpm"dest-dirs# 强制覆盖已存在文件jf rt upload test.rpm dest-dirs--overwrite

七、配置文件存储位置(重要)

所有服务器地址、账号、加密凭证都存在:

~/.jfrog/ ├── jfrog-cli.conf.v2 # 核心配置文件(加密存储) └── plugins/ # 插件目录

重置所有配置:rm -rf ~/.jfrog/

八、常见问题排查

1. command not found: jf

# 检查是否在 PATHecho$PATH|grep/usr/local/bin# 手动添加到 PATH(临时)exportPATH=$PATH:/usr/local/bin# 永久添加(~/.bashrc 或 ~/.zshrc)echo'export PATH=$PATH:/usr/local/bin'>>~/.bashrcsource~/.bashrc

2. 上传权限不足

  • 确认账号有RPMS仓库的部署/写入权限
  • 核对用户名/密码/Token 是否正确
  • jf rt ping测试连接是否正常

3. 连接超时/无法访问

  • 检查服务器 IP、端口 8082 是否开放
  • 确认网络互通(ping xxx.xxx.xxx.xxx)
  • 关闭防火墙/放行 8082 端口

九、总结

  1. 官方脚本/APT 两种安装方式,适配所有 Ubuntu 20.04+
  2. jf c add一键配置私服,一次配置永久生效
  3. jf rt upload自动创建目录,一行命令完成制品上传
  4. 配置文件统一管理,便于迁移/备份
http://www.jsqmd.com/news/1071020/

相关文章:

  • 如何使用AndHook实现Java方法拦截:从配置到运行的完整教程
  • 【ABAP】收集几个通用的ALV框架(开箱即用)
  • 5大核心技巧:GitHub Actions下载工件全攻略
  • 10分钟掌握Swift-Verge状态管理:面向初学者的实用入门教程
  • Notepad--:跨平台文本编辑解决方案如何解决中文编码与多文件处理难题
  • Altium Designer(AD 20)-PcbDoc中的黑色pcb可编辑区域怎么调大
  • WinBoat:在Linux上无缝运行Windows应用的终极方案,你还在用虚拟机吗?
  • 构建高效前端模板引擎:umi脚手架自定义方案深度解析
  • linux程序卡死,Ubuntu网络开启失败
  • 发现 VS Code 的隐藏宝藏:7 个你或许不知道却能让效率翻倍的功能
  • kkFileView文件在线预览架构深度解析:从技术选型到企业级部署的完整指南
  • 第九篇 | HarmonyOS 发布构建实战:Hvigor 命令行生成 signed.app 升级包
  • 5个步骤构建高效代码修复系统:从理论到实战
  • 第21届智能车竞赛单车定向组比赛科目细则
  • 第五周作业
  • 【工具优化】Windows工具MobaXterm_Personal_20.3解除最多保存14个Session的限制_20260505
  • 如何让喜欢的角色住进桌面?5分钟快速上手DyberPet桌宠系统
  • 考研408《操作系统》复习笔记,第三章《3.2.1 内存分配:连续分配》
  • GoMusic技术解析:Golang实现跨平台音乐歌单迁移的核心架构
  • 项目实训博客(四)从Vulkan到D3D12:注入与拦截架构演变
  • 超星学习通自动签到终极指南:3分钟掌握全场景智能签到
  • 蒙特卡罗方法
  • Scrapling:现代Python网络爬虫的终极解决方案
  • 目标检测发展
  • 如何构建企业级AI智能体平台:基于Dify的现代化架构设计与技术实践
  • 实时消息传递_azure-messaging-webpubsubservice-py
  • Lexical富文本编辑器图片处理全攻略:从拖拽上传到智能裁剪的完整方案
  • ORC屏幕图片文字提取-聊天截图文字提取-截图文字识别-视频文字提取,免费用先
  • imx6ull 开发板,SD卡启动,给EMMC分区,烧系统。
  • C语言 基于分治法的快速排序算法(Quick Sort)