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/,无需手动创建目录

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

bash 复制代码
# 卸载 apt 安装的旧版
sudo apt remove -y jfrog-cli jfrog-cli-v2-jf

# 删除残留二进制
sudo rm -f /usr/local/bin/jfr /usr/local/bin/jf /usr/bin/jf

# 清空旧配置(可选,重置所有私服连接)
rm -rf ~/.jfrog/

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

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

bash 复制代码
# 官方最新安装脚本(v2)
curl -fL https://install-cli.jfrog.io | sh

# 移动到系统 PATH 目录
sudo mv ./jf /usr/local/bin/

# 赋予执行权限
sudo chmod +x /usr/local/bin/jf

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

bash 复制代码
# 导入 GPG 密钥
wget -qO - https://releases.jfrog.io/artifactory/jfrog-gpg-public/jfrog_public_gpg.key | sudo gpg --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" | sudo tee /etc/apt/sources.list.d/jfrog.list

# 更新并安装
sudo apt update
sudo apt install -y jfrog-cli-v2-jf

四、验证安装成功

bash 复制代码
# 查看版本
jf -v
# 或
jf --version

输出类似:jf version 2.65.0 即成功

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

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

bash 复制代码
jf c add  # 等价 jf config add

按提示依次输入:

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

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

bash 复制代码
jf c add my_jfrog \
  --url=http://xxx.xxx.xxx.xxx/ \
  --user=你的用户名 \
  --password=你的密码 \
  --interactive=false

3. 常用配置命令

bash 复制代码
# 查看所有已配置服务器
jf c show

# 切换默认服务器(多私服环境)
jf c use my_jfrog

# 删除指定服务器配置
jf c remove my_jfrog

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

地址拆解(你的私服)

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

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

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

bash 复制代码
# 上传单个文件
jf rt upload test.rpm dest-dirs

# 批量上传当前目录所有 .rpm
jf 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

bash 复制代码
# 检查是否在 PATH
echo $PATH | grep /usr/local/bin

# 手动添加到 PATH(临时)
export PATH=$PATH:/usr/local/bin

# 永久添加(~/.bashrc 或 ~/.zshrc)
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.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. 配置文件统一管理,便于迁移/备份
相关推荐
湖城彭于晏2 小时前
VMware Ubuntu 固定IP + 上网 + 远程访问 完整教程
linux·ubuntu·vmware
小夏子_riotous2 小时前
Docker学习路径——6、简单微服务
linux·运维·服务器·docker·微服务·容器·云计算
剪刀石头布Cheers2 小时前
Ubuntu Hermes安装关键步骤
linux·运维·ubuntu·ai·agent·hermes
雕刻刀2 小时前
pip离线安装
linux·python·pip
JoyCong19982 小时前
告别频繁输入密码!ToDesk自动解锁功能,实现远程办公“无感”连接
大数据·linux·服务器·网络·电脑·远程操作
咚为2 小时前
从Nginx到Pingora?从 Cloudflare 的架构演进讲起
运维·nginx·架构
willhuo2 小时前
服务器大存储与实时备份解决方案:基于SSH隧道的灾备数据同步系统
运维·服务器·ssh
楼田莉子2 小时前
仿muduo库的高并发服务器——正则表达式与any类介绍及其简单模拟实现
linux·服务器·c++·学习·设计模式
bukeyiwanshui2 小时前
20260423 一、 负载均衡-LVS 全解析
运维·负载均衡·lvs