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. 配置文件统一管理,便于迁移/备份
相关推荐
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB4 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao4 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏