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

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

相关推荐
ChangYan.2 小时前
Windows命令行(cmd)下快速查找文件路径(类似Linux下find命令)
linux·运维·服务器
陈让然2 小时前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu
lpfasd1232 小时前
宝塔面板使用流程及注意事项
运维
小杰帅气2 小时前
神秘的环境变量和进程地址空间
linux·运维·服务器
胖咕噜的稞达鸭2 小时前
进程间的通信(1)(理解管道特性,匿名命名管道,进程池,systeam V共享内存是什么及优势)重点理解代码!
linux·运维·服务器·数据库
电气铺二表姐137744166152 小时前
超市冷柜专区电能计量方案:高能耗设备独立监测与优化
运维·物联网·能源
水上冰石2 小时前
查看k8s下Jenkins的插件在宿主机的路径
容器·kubernetes·jenkins
小北方城市网2 小时前
微服务接口设计实战指南:高可用、易维护的接口设计原则与规范
java·大数据·运维·python·微服务·fastapi·数据库架构
可爱又迷人的反派角色“yang”2 小时前
k8s(五)
linux·运维·docker·云原生·容器·kubernetes