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. 配置管理
  • • 使用版本控制管理配置文件

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

相关推荐
TechMasterPlus1 小时前
Linux U-Boot 与内核启动流程深度解析:从上电到 Shell 的完整之旅
linux·运维·服务器
大白菜和MySQL1 小时前
Linux下dhcp服务搭建
linux·运维·服务器
SPC的存折1 小时前
1、MySQL故障排查与运维案例
linux·运维·服务器·数据库·mysql
Run_Teenage1 小时前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法
CDN3602 小时前
高防服务器磁盘 / CPU 爆满?攻击引流与资源扩容实战
运维·服务器·网络协议
freewlt2 小时前
OpenClaw 工作流自动化实战:打造你的智能定时任务中心
运维·servlet·自动化
Amnesia0_02 小时前
理解Linux中的OS管理和进程属性
linux·运维·服务器
小夏子_riotous2 小时前
openstack的使用——7. 共享文件系统manila服务
linux·运维·服务器·系统架构·centos·openstack·运维开发
Omics Pro2 小时前
上海AI Lab+复旦大学:双轨协同实现自动化虚拟细胞建模
运维·人工智能·语言模型·自然语言处理·数据挖掘·数据分析·自动化
Bert.Cai2 小时前
Linux cp命令详解
linux·运维