用途:jk 是 Jenkins 控制器的命令行界面,风格类似 GitHub CLI,面向开发者与运维人员,提供现代化的脚本化操作方式,用于管理 Jenkins 中的任务、流水线、config.xml、构建运行、日志、制品、凭据、节点和队列。
主要能力:认证与上下文管理(jk auth login/status/logout、jk context ls/use/rm,JK_CONTEXT 可覆盖当前上下文);任务发现与操作(jk search、jk job ls/view/create/config/configure/scan,支持 multibranch 任务与 Jenkinsfile 路径补丁);运行管理(jk run ls/start/view/params/cancel/rerun,支持参数、过滤、分组、分页、跟随日志与退出状态);日志(jk log,支持 --follow 实时流、--interval、--plain);制品(jk artifact ls/download,支持模式过滤、输出目录、--allow-empty);测试报告(jk test report,支持 JSON);凭据(jk cred ls/create-secret/rm,支持系统与文件夹作用域、--from-stdin);节点(jk node ls/cordon/uncordon/rm);队列(jk queue ls/cancel);插件(jk plugin ls/install/enable/disable,支持版本与 --yes)。
使用方式:先安装并确认版本。macOS/Linux 使用 brew install avivsinai/tap/jk;Windows 使用 scoop bucket add avivsinai https://github.com/avivsinai/scoop-bucket && scoop install jk;Go 使用 go install github.com/avivsinai/jenkins-cli/cmd/jk@latest;也可从 GitHub Releases 下载二进制。jk job create、jk job config、jk job configure、jk job scan 需 jk 0.0.29 或更新版本。登录示例:jk auth login https://jenkins.example.com --username alice --token <API_TOKEN>,支持 --name、--insecure、--proxy、--ca-file、--set-active、--allow-insecure-store 等选项。
适用场景:需要在终端或脚本中批量查询、触发、监控 Jenkins 任务与流水线,下载制品、查看测试报告、管理凭据与节点时。
限制与注意:对于使用 Google OAuth、OpenID Connect、Okta、Azure AD 等浏览器 SSO 的控制器,需先在浏览器登录 Jenkins 并在 /me/configure 创建 Jenkins API token,不要使用 Google/OIDC 访问令牌;若用户名被拒,可在已登录浏览器打开 <jenkins-url>/whoAmI/api/json 并以返回的 name 值作为 --username。jk cred rm 仅支持系统作用域。其他未在资料中说明的功能、收费、价格与平台信息暂未提供。