Jenkins CLI命令行
Jenkins CLI命令行
jenkins不光可以UI操作还提供了命令行接口
位置
- 首页->系统管理->工具和动作->Jenkins 命令行接口
- 在这个界面下载一个jenkins-cli.jar
实例
登录
方式一:用户名密码
- 登录操作是所有操作的前提
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456
- 显然这样是不太安全的
方式二:API Token
- Jenkins->用户列表->用户名->设置->API Token
- 输入名称,点击生成保存即可,但这个token一定要记录下来,你以后再也看不到了。

命令行
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:11129918daa39bdba49852a08d64ad1f44 list-jobs
方式三:文件方式(推荐)
在有了token的基础上,你可以把以下信息保存下来
ruru023:11129918daa39bdba49852a08d64ad1f44
存放到你命令行所在机器的D:\下,如命名为password.txt
后面执行命令就用如下方式
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth @d:\password.txt list-jobs
你也可以放在linux服务器上,存放到服务器Jenkins安装目录/war/WEB-INF下,如命名为password.txt
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth @password.txt list-jobs
方式四:ssh方式(推荐)
未测试成功,可能跟阿里云有关系
- 系统->系统管理->全局安全配置->ssh server
- 指定端口:7654(不要冲突即可)
- 保存
- 参考方式二,切换到API TOKEN界面,找到SSH Public Keys
- 输入你本机的pub key
- 重启?
$ ssh -l ruru023 -p 8085 106.14.1.150 help
ssh: connect to host 106.14.1.150 port 8085: Connection refused
★写成bat来调度
- 参考上面的内容
@echo off
cls
:start
set /p args="please input command args:"
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth @d:\password.txt %args%
goto start
执行效果如下
please input command args:list-jobs
Pipeline_forcli
pipeline_forcli2 please input command args:version
2.319.1
重启/关闭Jenkins
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 restart
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 shutdown
还有安全重启
safe-restart #等到所有的操作都完成然后执行重启
列出jobs
>java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 list-jobs
#输出
Pipeline_forcli
构建job
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 build Pipeline_forcli #这是一行
删除job的build
语法
java -jar jenkins-cli.jar delete-builds JOB RANGE
Delete build records of a specified job, possibly in a bulk.
JOB : Name of the job to build
RANGE : Range of the build records to delete. 'N-M', 'N,M', or 'N'
示例
>java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 delete-builds pipeline_forcli 1
Deleted 1 builds >java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 delete-builds pipeline_forcli 2-3
Deleted 2 builds >java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 delete-builds pipeline_forcli 4,5
Deleted 2 builds
禁用/启用job
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 disable-job pipeline_forcli
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 enable-job pipeline_forcli
获取job的xml描述
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 get-job pipeline_forcli
- 导出到xml文件
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 get-job pipeline_forcli >xxx.xml
复制job
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 copy-job pipeline_forcli pipeline_forcli2
删除job
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 delete-job pipeline_forcli
列出插件
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 list-plugins
安装插件
java -jar jenkins-cli.jar -s http://106.14.1.150:8082/ -auth ruru023:123456 install-plugin jira:3.7.1
#输出信息
Installing jira:3.7.1 from update center
- 其他要么比较简单,要么很少用,要么太复杂,没意思了。
附录:CLI命令语法
Jenkins CLI
Usage: java -jar jenkins-cli.jar [-s URL] command [opts...] args...
Options:
-s URL : the server URL (defaults to the JENKINS_URL env var)
-http : use a plain CLI protocol over HTTP(S) (the default; mutually exclusive with -ssh)
-webSocket : like -http but using WebSocket (works better with most reverse proxies)
-ssh : use SSH protocol (requires -user; SSH port must be open on server, and user must have registered a public key)
-i KEY : SSH private key file used for authentication (for use with -ssh)
-noCertificateCheck : bypass HTTPS certificate check entirely. Use with caution
-noKeyAuth : don't try to load the SSH authentication private key. Conflicts with -i
-user : specify user (for use with -ssh)
-strictHostKey : request strict host key checking (for use with -ssh)
-logger FINE : enable detailed logging from the client
-auth [ USER:SECRET | @FILE ] : specify username and either password or API token (or load from them both from a file);
for use with -http.
Passing credentials by file is recommended.
See https://jenkins.io/redirect/cli-http-connection-mode for more info and options.
The available commands depend on the server. Run the 'help' command to see the list.
附录:CLI命令操作
| 命令 | 含义 |
|---|---|
| add-job-to-view | Adds jobs to view. |
| build | Builds a job, and optionally waits until its completion. |
| cancel-quiet-down | Cancel the effect of the "quiet-down" command. |
| clear-queue | Clears the build queue. |
| connect-node | Reconnect to a node(s) |
| console | Retrieves console output of a build. |
| copy-job | Copies a job. |
| create-credentials-by-xml | Create Credential by XML |
| create-credentials-domain-by-xml | Create Credentials Domain by XML |
| create-job | Creates a new job by reading stdin as a configuration XML file. |
| create-node | Creates a new node by reading stdin as a XML configuration. |
| create-view | Creates a new view by reading stdin as a XML configuration. |
| declarative-linter | Validate a Jenkinsfile containing a Declarative Pipeline |
| delete-builds | Deletes build record(s). |
| delete-credentials | Delete a Credential |
| delete-credentials-domain | Delete a Credentials Domain |
| delete-job | Deletes job(s). |
| delete-node | Deletes node(s) |
| delete-view | Deletes view(s). |
| disable-job | 禁用任务 |
| disable-plugin | Disable one or more installed plugins. |
| disconnect-node | Disconnects from a node. |
| enable-job | 启用任务 |
| enable-plugin | Enables one or more installed plugins transitively. |
| get-credentials-as-xml | Get a Credentials as XML (secrets redacted) |
| get-credentials-domain-as-xml | Get a Credentials Domain as XML |
| get-gradle | List available gradle installations |
| get-job | Dumps the job definition XML to stdout. |
| get-node | Dumps the node definition XML to stdout. |
| get-view | Dumps the view definition XML to stdout. |
| groovy | Executes the specified Groovy script. |
| groovysh | Runs an interactive groovy shell. |
| help | Lists all the available commands or a detailed description of single command. |
| import-credentials-as-xml | Import credentials as XML. The output of "list-credentials-as-xml" can be used as input here as is, the only needed change is to set the actual Secrets which are redacted in the output. |
| install-plugin | Installs a plugin either from a file, an URL, or from update center. |
| keep-build | 永久保留这次构建。 |
| list-changes | Dumps the changelog for the specified build(s). |
| list-credentials | Lists the Credentials in a specific Store |
| list-credentials-as-xml | Export credentials as XML. The output of this command can be used as input for "import-credentials-as-xml" as is, the only needed change is to set the actual Secrets which are redacted in the output. |
| list-credentials-context-resolvers | List Credentials Context Resolvers |
| list-credentials-providers | List Credentials Providers |
| list-jobs | Lists all jobs in a specific view or item group. |
| list-plugins | Outputs a list of installed plugins. |
| Reads stdin and sends that out as an e-mail. | |
| offline-node | Stop using a node for performing builds temporarily, until the next "online-node" command. |
| online-node | Resume using a node for performing builds, to cancel out the earlier "offline-node" command. |
| quiet-down | Quiet down Jenkins, in preparation for a restart. Don’t start any builds. |
| reload-configuration | Discard all the loaded data in memory and reload everything from file system. Useful when you modified config files directly on disk. |
| reload-job | Reload job(s) |
| remove-job-from-view | Removes jobs from view. |
| replay-pipeline | 从标准输入中获取的脚本并回放流水线执行 |
| restart | 重新启动Jenkins |
| restart-from-stage | Restart a completed Declarative Pipeline build from a given stage. |
| safe-restart | 安全地重新启动Jenkins |
| safe-shutdown | Puts Jenkins into the quiet mode, wait for existing builds to be completed, and then shut down Jenkins. |
| session-id | Outputs the session ID, which changes every time Jenkins restarts. |
| set-build-description | Sets the description of a build. |
| set-build-display-name | Sets the displayName of a build. |
| shutdown | 立刻关闭Jenkins |
| stop-builds | Stop all running builds for job(s) |
| update-credentials-by-xml | Update Credentials by XML |
| update-credentials-domain-by-xml | Update Credentials Domain by XML |
| update-job | Updates the job definition XML from stdin. The opposite of the get-job command. |
| update-node | Updates the node definition XML from stdin. The opposite of the get-node command. |
| update-view | Updates the view definition XML from stdin. The opposite of the get-view command. |
| version | Outputs the current version. |
| wait-node-offline | Wait for a node to become offline. |
| wait-node-online | Wait for a node to become online. |
| who-am-i | Reports your credential and permissions. |
Jenkins CLI命令行的更多相关文章
- Jenkins CLI 命令详解
笔者在前文<通过 CLI 管理 Jenkins Server>中介绍了如何通过 SSH 或客户端命令行的方式管理 Jenkins Server,限于篇幅,前文主要的目的是介绍连接 Jenk ...
- ThinkPHP3.1.2 使用cli命令行模式运行
ThinkPHP3.1.2 使用cli命令行模式运行 标签(空格分隔): php 前言 thinkphp3.1.2 需要使用cli方法运行脚本 折腾了一天才搞定 3.1.2的版本真的很古老 解决 增加 ...
- PHP的CLI命令行运行模式浅析
在做开发的时候,我们不仅仅只是做各种网站或者接口,也经常需要写一些命令行脚本用来处理一些后端的事务.比如对数据进行处理统计等.当然也是为了效率着想,当一个事务有可能会有较长的耗时时,往往会交由服务器的 ...
- golang常用库:cli命令行/应用程序生成工具-cobra使用
golang常用库:cli命令行/应用程序生成工具-cobra使用 一.Cobra 介绍 我前面有一篇文章介绍了配置文件解析库 Viper 的使用,这篇介绍 Cobra 的使用,你猜的没错,这 2 个 ...
- Jenkins 脚本命令行应用总结
Jenkins脚本命令行应用总结 测试环境 Jenkins 2.304 脚本命令行入口 Jenkins主页→系统管理→脚本命令行 遍历项目 例子:获取所有自由风格项目及相关项目信息 def proje ...
- Apache Commons CLI命令行启动
今天又看了下Hangout的源码,一般来说一个开源项目有好几种启动方式--比如可以从命令行启动,也可以从web端启动.今天就看看如何设计命令行启动... Apache Commons CLI Apac ...
- GO语言之urfave/cli命令行解析
练习URL: https://blog.csdn.net/sd653159/article/details/83381786 相信只要部署过线上服务,都知道启动参数一定是必不可少的,当你在不同的网络. ...
- Angular CLI 命令行工具
工欲善其事必先利其器.好的工具让开发更加简单便捷. 1.全局安装angular cli npm install -g @angular/cli 2.安装完成后就可以使用angular-cli命令行工具 ...
- CI 框架下执行CLI(命令行)
1.可以按照Ci官方文件的指导来进行操作 让我们先创建一个简单的控制器,打开你的文本编辑器,新建一个文件并命名为 Tools.php,然后输入如下的代码: <?php class Tools e ...
- Go语言中的IO操作、Flag包以及urfave/cli命令行框架
一.格式化输入和输出 1.从终端获取用户的输入 fmt.Scanf 空格作为分隔符,占位符和格式化输出的一致 fmt.Scan 从终端获取用户的输入,存储在Scanln中的参数里,空格和换行符作为 ...
随机推荐
- 2022春每日一题:Day 37
题目:[USACO14FEB]Auto-complete S 字典树套路题,字典树优化剪枝,加个cnt标记即可 代码: #include <cstdio> #include <cst ...
- 一个jsqlparse+git做的小工具帮我节省时间摸鱼
背景 前些时间做了个小工具解决了团队内数据库脚本检验&多测试环境自动执行的问题,感觉挺有意思,在这跟大家分享一下. 工具诞生之前的流程是这样: 1.开发人员先在开发环境编写脚本&执行: ...
- 关于linux建立u盘legacy启动方式引导
前言 我一直在用linux,但是我在linux制作pe启动盘无法实现,windows有很多制作pe启动盘的软件,如大白菜,u深度什么的,但是linux没有对应的软件,所以我想写一个类似的工具,那么就有 ...
- 记一次windows10电脑连上wifi无法上网的解决问题
前言 今天下午同学的电脑能连上wifi,但是却上不了互联网 开始思考 首先想到的肯定是WiFi驱动问题,但是wifi能连上大部分的原因可能就不是驱动问题了,为了彻底排除这个因素,我用到了我的usb网卡 ...
- node学习01
1.前言 Node.js 是一个开源和跨平台的 JavaScript 运行时环境 Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核). 这使得 N ...
- 移除元素-LeetCode27 双指针
力扣链接:https://leetcode.cn/problems/remove-element/ 题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返 ...
- MySQL 的 NULL 值是怎么存储的?
大家好,我是小林. 之前有位读者在面字节的时候,被问到这么个问题: 如果你知道 MySQL 一行记录的存储结构,那么这个问题对你没什么难度. 如果你不知道也没关系,这次我跟大家聊聊 MySQL 一行记 ...
- 【每日一题】【dfs重载原始函数&循环/函数结束条件&左右下标在数组中位置的确定】2022年2月7日-NC12 由先序和中序遍历重建二叉树
描述给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建 ...
- Windows下使用VSCode搭建IDA Python脚本开发环境
由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDA Python的开发环境 本文适用的环境如下: 1.操作系统 windows 2.Python3 ...
- ABP AutoMapper与自定义Mapping
对象映射 在工作中,需要将相似的对象映射到另一个对象,这样我们来看一个最繁琐的映射方式 例: public class UserAppService : ApplicationService { pr ...