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

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

相关推荐
闲云野鹤在人间19 分钟前
KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用
linux·运维·服务器·centos
小张同学a.19 分钟前
Docker 容器实战 2—— docker 仓库
linux·运维·服务器·docker·容器
Android系统攻城狮32 分钟前
Linux PipeWire深度解析之pw_core_get_registry调用流程与实战(九十一)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
其实防守也摸鱼32 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
邪修king38 分钟前
Re:Linux 系统编程篇 (十二):进程篇(一)基础与 fork 系统调用全解
linux·运维·服务器
牢姐与蒯42 分钟前
Linux进程(五).之环境变量
linux·运维·服务器·ubuntu
ZGi.ai42 分钟前
ZGI 文件产物:生成报告后怎样交付
大数据·运维·workflow·权限管理·zgi·智能体交付·文件产物
楠楠子呀1 小时前
号码状态核验:从数据清洗到合规处理的实现思路
运维·自动化
小周学学学1 小时前
GLPI 项目解读:开源 IT 资产管理与 ITSM 服务台平台
运维·开源·自动化·资产管理
爱和冰阔落1 小时前
【Linux】多线程打印为什么会乱?pthread 创建、等待、退出、取消与分离全实战
linux·运维·c++·redis