Jenkins CLI 命令详解
笔者在前文《通过 CLI 管理 Jenkins Server》中介绍了如何通过 SSH 或客户端命令行的方式管理 Jenkins Server,限于篇幅,前文主要的目的是介绍连接 Jenkins Server 的方式。本文主要介绍 Jenkins Server 提供的常用命令。
本文主要演示以 SSH 的方式执行常见的 Jenkins CLI 命令,关于通过 SSH 连接 Jenkins Server 的内容,请参考前文。说明:本文的演示环境为 ubuntu 16.04。
从 who-am-i 开始
$ ssh -l jack -p 192.168.21.145 who-am-i

获取 Jenkins Server 的版本
$ ssh -l jack -p 192.168.21.145 version

添加 agent
create-node 命令需要指定一个 xml 文件作为参数,这个 xml 文件中保存着新建 node 的配置信息。方便起见我们可以先使用 get-node 命令获得一个现有 node 的配置文件,然后修改其中的配置,并最终用来创建新的 node。比如我们当前有一个名为 testagent 的 node:

用下面的命令获得其配置信息:
$ ssh -l jack -p 192.168.21.145 get-node testagent > testagent.xml

接下来复制一份 testagent.xml 文件,创建 myagent.xml 文件,并修改 myagent.xml 文件中的相关配置。比如把 agent 名称改为 myagent,host 修改为新 agent 的 IP 地址,credentialsId 改为具有适当权限的新 ID。最后用新的 myagent.xml 文件创建 node:
$ ssh -l jack -p 192.168.21.145 create-node < myagent.xml

这样新的 node 就创建好了。当然,我们也可以使用 delete-node 命令删除一个 node。
安装 plugin
Jenkins 默认提供的操作 plugin 的 CLI 只有 list-plugins 和 install-plugin。list-plugins 用来罗列所有已安装的 plugins:
$ ssh -l jack -p 192.168.21.145 list-plugins

如果为 list-plugins 指定参数(插件的名称),则只显示该插件的信息,该插件不存在就报错:

install-plugin 命令用来安装插件:
install-plugin SOURCE ... [-deploy] [-name VAL] [-restart]
根据指定的 source 选项,分别可以从 URL、本地文件和 update center 安装插件。默认从 update center 安装插件,只用指定插件的短名称(ID)就可以了:
$ ssh -l jack -p 192.168.21.145 install-plugin greenballs -deploy
-deploy 表示立即部署插件而不必等到下次重启 Jenkins。
如果指定的插件已经存在并且需要升级到新的版本,同样执行 install-plugin 命令就可以了:

$ ssh -l jack -p 192.168.21.145 install-plugin pipeline-graph-analysis -restart
-restart 选项表示安装完成后重启 Jenkins。

等 Jenkins 重启完成后,发现插件已经被更新到了最新的版本:

注意:update center 安装插件时,会自动安装当前插件所依赖的插件。
通过本地的文件安装插件
下载 greenballs 插件到当前的目录中,然后执行命令:
$ ssh -l jack -p 192.168.21.145 install-plugin = -deploy < greenballs.hpi -name greenballs
注意,此时需要通过 -name 选项指定插件的名称。
job 操作
Jenkins CLI 提供了丰富的命令来操作 job:
list-jobs:默认列出所有的 job
get-job:获得指定 job 的配置文件
copy-job:以现存的 job 为模板创建一个新的 job
create-job:创建一个新的 job,以标准输入中的内容作为配置信息
update-job:以配置文件中的内容更新 job
delete-job:删除 job
enable-job:enable job
disable-job:disable job
虽然 job 操作涉及的命令比较多,但是都相对的简单,这里不再一一演示。
触发 job
build 命令用来触发一个 job 任务,我们可以通过 help 命令来查看一下 build 命令的帮助文档:
$ ssh -l jack -p 192.168.21.145 help build

由上面的文档可知,可以通过 -f 和 -v 选项同步的执行 job 并获得控制台输出:
$ ssh -l jack -p 192.168.21.145 build test -f -v

总结
Jenkins CLI 默认支持的命令很多,这里只是简单介绍了其中的几个,主要目的是帮助理解 Jenkins CLI 命令的基本用法。更多命令的详细用法请参考官方文档。
参考:
Jenkins CLI
Jenkins CLI 命令详解的更多相关文章
- Mac svn使用学习-4-客户端cli命令详解
客户端cli的使用 WC:Working Copy 你的工作区 将文件或目录版本化,这样下一次提交到存储库的时候,他们就都会被提交上去.能实现版本化的命令有: add 1.import 是否访问存储库 ...
- 【Devops】【docker】【CI/CD】关于jenkins构建成功后一步,执行的shell命令详解+jenkins容器运行宿主机shell命令的实现方法
1.展示这段shell命令 +详解 #================================================================================= ...
- 利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解
本文转载自利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解 导语 由于最近工作需要利用 Jenkins 远程 API 操作 Jenkins 来完成一些列操作,就抽空研究 ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
随机推荐
- robotframework手机号随机产生脚本
首先,要导入使用库 random; ${phone} Evaluate random.choice(['139','188','185','136','158','151'])+"" ...
- 批量屏蔽符合条件的IP地址《目前仅测Centos 6 版本》
使用办法:可以将下面的sh保存到一个单独的文件中,比如ipad.sh,然后再编辑获取IP地址列表中的那段.最终的结果是需要直接获取到IP地址,一行一个,可以有多个文件,一行一个,进行重定向到指定的IP ...
- Python:每日一题003
题目: 一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少? 程序分析: 在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果 ...
- http协议介绍及get与post请求、响应状态码
HTTP: 通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议! 报文: HTTP协议通信的内容我们称之为:报文 报文格式: 报文首部 空行 报文主体 1.请求报文 ...
- 关于git 命令的一些事
克隆代码命令 http://www.yiibai.com/git/git_clone.html 关键:得实现新建本地仓库文件夹 ==> git clone 远程网址 git 上传主要代码:htt ...
- MySQL缓存参数优化(转)
MySQL 数据库性能优化之缓存参数优化 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在 ...
- python模块:hmac
"""HMAC (Keyed-Hashing for Message Authentication) Python module. Implements the HMAC ...
- SQL Server PageIOLatch和PageLatch
Latch是轻量级的锁,它是SQL Server内部用来同步资源访问的一个数据结构,使数据的访问同步有序,这意味着,当一个线程获得资源R的Latch的独占使用权时,如果其他的线程也想访问这个Latch ...
- HaProxy 负载均衡集群
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理,特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.H ...
- linux 软件安装篇
在linux下安装软件,不像windows一样,下一步下一步安装,但是也有很方便的方式.也有自定义的安装方式,总体来说,套路还不算太深,但是要实践才能出真知哦! linux版本有很多,但是大部分命令都 ...