Jenkins CLI (jcli) 使用手册

Jenkins CLI (jcli) 使用手册

项目简介

Jenkins CLI (jcli) 是一个功能强大的 Jenkins 命令行管理工具,支持跨平台使用(macOS、Linux、Windows)。它为 Jenkins 管理员、插件开发者和普通用户提供了一个便捷的命令行界面来管理 Jenkins 服务器、插件、作业等核心功能。

✅ 核心优势

  • • 多 Jenkins 实例支持

  • • 插件管理(搜索、安装、上传)

  • • 作业管理(构建、日志查看)

  • • 配置即代码支持

  • • 浏览器集成

  • • 代理连接支持

🚀 快速安装

macOS 安装

go 复制代码
# 使用 Homebrew
brew tap jenkins-zh/jcli
brew install jcli

# 启用 Shell 自动补全(推荐)
echo 'source <(jcli completion bash)' >> ~/.bashrc  # bash
echo 'source <(jcli completion zsh)' >> ~/.zshrc     # zsh

Linux 安装

go 复制代码
# 下载并安装最新版本
curl -L https://github.com/jenkins-zh/jenkins-cli/releases/latest/download/jcli-linux-amd64.tar.gz | tar xzv
sudo mv jcli /usr/local/bin/

# 或者使用包管理器
sudo port install jenkins-cli     # MacPorts
sudo snap install jcli           # Snap

Windows 安装

go 复制代码
# 使用 Scoop
scoop install jcli

# 或者手动下载
# 从 https://github.com/jenkins-zh/jenkins-cli/releases/latest 下载 jcli-windows-amd64.zip
# 解压后将 jcli.exe 放到系统路径中

🛠️ 核心功能指南

1. 配置管理

首次设置(推荐方式)

go 复制代码
# 自动登录配置(推荐)
jcli center login

# 手动配置文件
jcli config generate  # 生成配置文件
jcli config select    # 选择 Jenkins 实例

配置文件位置

  • • Linux/macOS: ~/.jenkins-cli.yaml

  • • Windows: %USERPROFILE%\.jenkins-cli.yaml

2. 插件管理

go 复制代码
# 搜索插件
jcli plugin search git

# 安装插件
jcli plugin install git

# 安装指定版本
jcli plugin install git --version 4.8.1

# 列出已安装插件
jcli plugin list

# 上传插件
jcli plugin upload ./my-plugin.hpi

# 从公式文件批量安装
jcli plugin install --formula formula.yaml

# 导出当前插件配置为公式
jcli plugin formula > formula.yaml

3. 作业管理

go 复制代码
# 列出所有作业
jcli job list

# 搜索作业
jcli job search my-job

# 构建作业
jcli job build my-job

# 带参数构建
jcli job build my-job --param name=value

# 查看构建日志
jcli job log my-job

# 停止构建
jcli job stop my-job

# 管理作业参数
jcli job param my-job --add '[{"name":"param1","value":"value1","desc":"描述"}]'

# 删除构建历史
jcli job history my-job -d 1

4. Jenkins 中心管理

go 复制代码
# 下载 Jenkins(多线程)
jcli center download -t 8

# 启动 Jenkins(Docker 模式)
jcli center start -m docker --image kubespheredev/ks-jenkins --version 2.249.1 --port 9090

# 重启 Jenkins
jcli center restart

# 获取 Jenkins 信息
jcli center info

5. 高级功能

命令别名

go 复制代码
jcli alias set ls "job list"
jcli alias set b "job build"

批量操作

go 复制代码
# 批量构建
jcli job build job1 job2 job3

# 批量查看状态
jcli job search --format json

Shell 集成

go 复制代码
# 启动子 Shell
jcli shell

# 批量脚本
echo "job list; plugin list" | jcli shell

📋 常用命令速查

功能 命令 说明
连接管理 jcli center login 自动登录配置
jcli config select 切换 Jenkins 实例
插件操作 jcli plugin list 列出插件
jcli plugin install <name> 安装插件
jcli plugin search <keyword> 搜索插件
作业管理 jcli job list 列出作业
jcli job build <job> 构建作业
jcli job log <job> 查看日志
jcli job search <keyword> 搜索作业
系统管理 jcli center restart 重启 Jenkins
jcli center download 下载 Jenkins
jcli center info 系统信息

⚡ 高级技巧

1. 自动化脚本集成

go 复制代码
#!/bin/bash
# 批量作业构建脚本
for job in $(jcli job list --format json | jq -r '.[].name'); do
    echo "Building $job..."
    jcli job build "$job"
done

2. CI/CD 流水线集成

go 复制代码
# GitLab CI 示例
deploy:
script:
    -jclijobbuilddeploy-job--paramenv=production
    -jclijobwatchdeploy-job--timeout 1800

3. 插件依赖管理

go 复制代码
# 导出当前环境插件配置
jcli plugin formula > current-formula.yaml

# 在新环境一键安装所有插件
jcli plugin install --formula current-formula.yaml

🔧 故障排除

常见问题解决

    1. 连接超时
go 复制代码
# 设置代理
   export HTTP_PROXY=http://proxy:port
   export HTTPS_PROXY=http://proxy:port
   
   # 或者配置文件中设置
   jcli config edit
    1. 权限不足
go 复制代码
# 生成用户 Token
   # 在 Jenkins > 用户 > Configure > API Token 中生成
   
   # 配置到 jcli
   jcli config set --url http://jenkins:8080 --token your-token
    1. 插件安装失败
go 复制代码
# 使用镜像源
   jcli config set --mirror https://mirrors.tuna.tsinghua.edu.cn/jenkins/

🎯 最佳实践

    1. 配置管理
  • • 使用版本控制管理配置文件

  • • 为不同环境创建独立的配置

相关推荐
是枚小菜鸡儿吖8 分钟前
从 0 到 1 生成自定义算子:CANN + AIGC 的自动化工作流
运维·自动化·aigc
考琪12 分钟前
Nginx打印变量到log方法
java·运维·nginx
SAP工博科技31 分钟前
SAP 公有云 ERP 多工厂多生产线数据统一管理技术实现解析
大数据·运维·人工智能
YongCheng_Liang34 分钟前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
杜子不疼.41 分钟前
【Linux】库制作与原理(二):动态库的制作与使用
linux·运维·服务器
消失的旧时光-19431 小时前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
BJ_Bonree1 小时前
4月17日,博睿数据受邀出席GOPS全球运维大会2026 · 深圳站!
大数据·运维·人工智能
RisunJan1 小时前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
山君爱摸鱼1 小时前
Linux-服务进程
linux·运维·服务器
阿乐艾官1 小时前
【linux文件系统重要目录及命令解释】
linux·运维·服务器