原文地址:jenkins.io/zh/blog/201…java
做为一名开发者,我一般像下面那样使用 Jenkins:linux
查找与我当前工做相关的任务git
触发任务构建github
检查构建日志windows
有时候,我可能须要检查插件更新中心,安装新的插件,或者更新一个已有的插件。再或者,但愿从本地上传一个插件。全部的这些状况,其实都没有必要 访问 UI 界面甚至是浏览器。我更倾向于使用命令行(CLI)来完成大部分的工做。例如:我可使用 kubectl
来管理个人 Kubernets 集群, 建立或者修改 Kubernetes 资源。所以,我开始思考,“为何不用命令行来管理 Jenkins 呢”?浏览器
首先,我几乎都已经忘记了那个早已存在的命令行,用 Java 编写的 Jenkins CLI。让我先 介绍一下如何使用这个命令行。bash
访问 Jenkins 的页面 http://localhost:8080/jenkins/cli/
。你将会看到相似于 java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/ help
的命令行。所以,须要下载一个 jar 文件。咱们能够用命令 wget http://localhost:8080/jenkins/jnlpJars/jenkins-cli.jar
来下载。markdown
此时,你应该能看到,这并非一个 Linux 风格的 CLI。请思考下面的几个点:curl
用户必需要有一个 JRE 环境。这对于非 Java 开发者来讲并不方便。工具
命令行使用繁琐,须要输入不少字符。咱们每次都须要输入 java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/
做为命令的前缀。
没法使用一些流行的包管理器安装,例如:brew
或 yum
。
固然,Java 版本的命令行和 Jenkins 的兼容性更好。可是,我指望在使用时能够更简单些。 所以,我决定使用 Golang 来编写一个新的命令行,这样能够运行在多个平台上。
这就是建立 jcli
的故事。
易于维护的 jcli 配置文件
支持管理多个 Jenkins
插件管理(列表、搜索、安装、上传)
任务管理(搜索、构建、日志)
在浏览器中打开 Jenkins
重启 Jenkins
支持链接代理
你能够从 jenkins-cli 的代码仓库中克隆 jcli
。目前,咱们支持三个主流的操做 系统平台: MacOS、Linux、和 Windows。
你可使用 brew 安装 jcli。
brew tap jenkins-zh/jcli
brew install jcli
复制代码
在 Linux 下安装也是很是的简单。你只须要执行下面的命令便可:
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/ 复制代码
你能够点击 这里找到最新的版本。 而后,下载 tar 文件,把解压后的 jcli
拷贝到系统目录下。
使用这个很是简单。你安装好 jcli
后,能够经过下面的命令生成一个配置样本:
$ jcli config generate current: yourServer jenkins_servers: - name: yourServer url: http://localhost:8080/jenkins username: admin token: 111e3a2f0231198855dceaff96f20540a9 proxy: "" proxyAuth: "" # Goto 'http://localhost:8080/jenkins/me/configure', then you can generate your token. 复制代码
在大多数状况下,你应该只须要修改三个字段,包括:url
、username
和 token
。好的,我相信你已经准备好了。 而后,就能够经过下面的命令来检查你的 Jenkins 中是否安装了 github
插件:
jcli plugin list --filter name=github
最后,该命令行工具还处在研发的早期阶段,咱们欢迎任何形式的贡献!