背景| 组内做UI测试,需要每天晚上执行一遍jenkins任务,jenkins任务本身是参数化构建的。但是因为jenkins本身的定时执行没有办法指定特殊的参数,所以考虑使用命令行方式启动jenkins
 

第一步:下载jenkins-cli.jar,查看帮助文档

不同版本的jenkins有自己对应命令行版本jar,所以最好从jenkins机上命令行说明页下载jar
 
访问jenkins的命令行说明页:http://192.168.111.111:8080/jenkins/cli
 
该页面可下载jenkins-cli.jar,并且介绍了一些命令
1.查看jenkins-cli.jar命令的帮助
java -jar jenkins-cli.jar -s http://192.168.111.111:8080/jenkins/ -help
 
如果想查看具体的某个jenkins-cli命令,可以在-help加上command
例如:查看build的具体使用方法
java -jar jenkins-cli.jar -s http://192.168.111.111:8080/jenkins/  help build
 
注意:最好用jenkins的ip加端口访问,我这里用域名访问会超时
 

第二步.使用build命令构建一个JOB

java -jar jenkins-cli.jar -s http://jenkinsurl  build JOBNAME -p tag=xxx --username xxx --password xxx
 
说明:
1.build后面直接跟JOB的名字
2.-p后面跟参数化构建的参数,使用key=value格式。如果有多个参数就写多个-p
3.—username和--password提供jenkins的账号密码
 
例如,执行jenkins的命令如下:
java -jar jenkins-cli.jar -s http://1192.168.111.111:8080/jenkins/  build UITest -p tag=20170922 -p ifRunUI=true -p  --username tester --password 123456
 
build的使用方法:
JOB : Name of the job to build
-c  : Check for SCM changes before starting the build, and if there's no
       change, exit without doing a build
-f  : Follow the build progress. Like -s only interrupts are not passed
       through to the build.
-p  : Specify the build parameters in the key=value format.
-s  : Wait until the completion/abortion of the command. Interrupts are passed
       through to the build.
-v  : Prints out the console output of the build. Use with -s
-w  : Wait until the start of the command
[root(sunmin06@58OS)@bjm6-193-96 script]# java -jar jenkins-cli.
 

其他:获得历史构建的参数

在命令行执行时,参数我们可能需要历史构建的参数
 
获取上次构建结果:
curl "http://192.168.111.111:8080/jenkins/view/app/job/JOBNAME/lastBuild/api/xml”
 
然后可以解析结果,可以通过expr在shell中解析,获得需要的参数,例如获得tag:
expr "$result" : '.*<name>tag</name><value>\([a-zA-Z0-9_-]*\)</value></parameter>'
 
说明:$result为请求上次构建的结果,tag这里匹配的是字母数字和下划线中横线
 
 
更多获取构建结果的文章参考:http://blog.csdn.net/ljj_9/article/details/70270977

命令行执行jenkins,构建job(可传递参数)的更多相关文章

  1. 命令行执行php脚本 中$argv和$argc

    在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...

  2. 使用命令行执行jmeter的方法

    1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...

  3. gradlew 命令行 build 调试 构建错误 Manifest merger failed MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. gocommand:一个跨平台的golang命令行执行package

    最近在做一个项目的时候,需要使用golang来调用操作系统中的命令行,来执行shell命令或者直接调用第三方程序,这其中自然就用到了golang自带的exec.Command. 但是如果直接使用原生e ...

  5. nodejs命令行执行时带参数

    nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867   今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...

  6. 命令行执行php脚本中的$argv和$argc配置方法

    在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...

  7. linux命令行执行db2存储过程

    存储过程代码如下: CREATE PROCEDURE proc_sum2(IN n INT,OUT sum INT,OUT j INT) BEGIN DECLARE i INT; ; ; ; WHIL ...

  8. mysql命令行执行外部文件

    mysql命令行执行外部文件

  9. android程序中使用命令行及获得命令行执行后的内容

    在开发android项目中,需要在程序中使用命令行执行,获得命令行执行后的结果并做处理. 下面是自己写的一个小例子,供以后参考使用: public String android_command(){ ...

随机推荐

  1. Jenkins 简单配置

      安装就不说了, 因为安装实在是很简单的. Jenkins基础配置 配置jdk 和maven 进入Global Tool Configuration, 配置JDK: 一般不要选择自动安装, 否则下载 ...

  2. <转载> FreeNAS的安装和简单配置 http://freenas.cn/?p=342

    前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠 ...

  3. 天天向上的力量 III(python在pycharm实现)

    '''描述一年365天,以第1天的能力值为基数,记为1.0.当好好学习时,能力值相比前一天提高N‰:当没有学习时,能力值相比前一天下降N‰.每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范 ...

  4. leetcode1017

    这道题目很巧妙,似乎是有些过于巧妙了,属于我未知领域的类型,把原作者的解决方案放这里.(看大家都在给差评,我也顺手给个差评吧--) 参考:https://leetcode.com/problems/c ...

  5. springboot与mybatis相结合

    1.异常 发生受察时异常提交请求发生运行时异常 回滚 2.yml配置 server: port: 8888 # 配置mybatis mybatis: mapper-locations: classpa ...

  6. nginx 和 php超时设置

    nginx.conf ---  http节: keepalive_timeout 600; #客户端浏览器超时时间fastcgi_connect_timeout 600; #php-fpm连接超时时间 ...

  7. 构建模式--Adapter模式(JAVA)

    适配器模式: 适配器就相当于我们的转接头,比如手机充电器插头(小米和华为的手机充电器不能共用,这时候就可以给华为的充电器按一个转接头,就可以给小米手机充电). 同理,当一个类(充电器 HuaweiCh ...

  8. springmvc简单教程

    IDEA建立Spring MVC Hello World 详细入门教程(转自)   引子,其实从.NET转Java已经有几个月时间了,项目也做了不少,但是很多配置都是根据公司模板或者网上教程比忽略画瓢 ...

  9. 遍历DOM树,获取父节点

    通过获取父节点,还可以获取父节点的父节点. 有3个常用方法: 方法  说明  parent()  选取父节点  parents()  选取所有父节点  parentsUntil("div&q ...

  10. ie11 调试工具不能使用

    使用ie11仿真ie8测试兼容性的时候,方便调试 dom和仿真都不能用 搜索 https://www.ludou.org/win7-ie-11-f12-bug.html也有相关问题 安装补丁 64位的 ...