命令行执行jenkins,构建job(可传递参数)

每天1990 每天1990     2022-09-21     534

关键词:

背景| 组内做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([email protected])@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--02命令行构建job

1.查看说明并下载文件1.1下载jenkins-cli.jar:http://127.0.0.1:8080/jenkins/cli1.2jenkins-cli.jar命令帮助:java-jarjenkins-cli.jar-s http://127.0.0.1:8080/jenkins/ -help 2.使用build命令构建一个Jobjava-jarjenkins- 查看详情

jenkins参数化构建插件_parameterizedtrigger

...如有个job是用来获取token的,我们可以在构建操作中通过命令行之类的拿到了token,这个token会被其它的job所使用到(这个tokenjob只是例子)test1job构建获取到的token值,传递给test、test2两个job,并构建这两个job 查看详情

jenkins批量停止队列中卡主的jobs

...何批量停止队列中卡主的jobs?一、Jenkins-系统管理-脚本命令行,通过执行以下脚本进行批量停止二、Jenkins-系统管理-Jenkins命令行接口直接只用上图中的命令执行,会报如下的权限错误可以通过-auth参数进行身份验证 查看详情

jenkins根据svn增量更新

...术A构建先添加一个ant构建,在添加一个执行windows批处理命令,结果如下:通过这里的构建环境的配置,我们可以在构建发生前进行一些准备工作。我们不需要,就不需要配置。用ant构建,会需要一个build文件,默认的会加载工... 查看详情

jenkins之远程触发构建

...通过brew安装jenkins通过brewlistjenkins查看安装路径jenkins相关命令:在浏览器输入localhost:8080就可以打开Jenkins的web界面了。如果忘记了更改的端口号,可以查看下homebrew.mxcl.jenkins.plist文件,里面有端口号。更改homebrew.mxcl.jenkins.plist文... 查看详情

jenkins定时构建并传递构建参数

...用户设置页面,生成一个APIToken调用Jenkins远程API使用curl命令调用接口,并在Jenkins上确认参数传递成功Simpleexample-sending"StringParameters":curlJENKINS_URL/job/JOB_NAM 查看详情

jenkins构建触发器详解-不登录触发远程构建详解

...,我们可以使用任何脚本,甚至定制一个Web页来控制Job的执行,但是远程构建你如果直接使用的话,老是需要登录才能执行,如何避免登录?稍微折腾了一下,调通了。1、点击右上角,你登录的用户名,再点击设置,找到APIToken... 查看详情

jenkins构建触发器以及参数的传递

...”。在构建步骤某处,“执行Shell”或“执行Windows批处理命令”键入echoDesc:$MyDescription在后期构建步骤中,选择“”>“设置构建描述“。 参考技术B用什么方式触发的Bjob? 参考技术C用什么方式触发的Bjob?追问就是当A构建成... 查看详情

jenkins2pipeline怎么获取各个阶段的log

...是否支持你的构建脚本运行工具,经测试传递的参数在ftp命令行是不能读取的;据此可以推论,此plugin传递的参数是无法传递进入第三方命令行。本回答被提问者采纳 参考技术B第一个plugin和第二个plugin指什么?复制粘贴也不做... 查看详情

如何在 shell 命令中发送 Jenkins 版本号作为参数,该命令将在构建结束后执行

】如何在shell命令中发送Jenkins版本号作为参数,该命令将在构建结束后执行【英文标题】:HowtosendJenkinsbuildnumberasparameterinshellcommandwhichwillgetexecutedafterbuildends【发布时间】:2021-09-1114:09:02【问题描述】:在Jenkins构建失败或中止之... 查看详情

jenkins启动另一个job并传递参数(代码片段)

jenkins一个job启动另一job时并传递参数1,安装下面插件。ParameterizedTriggerPlugin2,构建后添加刚刚添加的插件第一步添加插件第一步添加自定义参数3,添加的自定义参数,需要在另一个job构建前,添加参数化构建。(参数名和上一... 查看详情

如何执行 shell 命令来填充 Jenkins 动态选择参数插件

】如何执行shell命令来填充Jenkins动态选择参数插件【英文标题】:HowtoexecuteashellcommandtopopulateaJenkinsDynamicChoiceParameterPlugin【发布时间】:2014-09-0820:13:19【问题描述】:我想创建一个Jenkins作业,在其中我将某些数据库备份并部署到... 查看详情

jenkins带参数构建

背景:同一个job想构建两个不同的文件方案:通过jenkins的带参数构建来选择构建哪个文件实施:设置参数:2.使用参数:  查看详情

jenkins自动构建的几种方式

...程名/build?token=abc2、利用curl在服务器上构建  Linux的curl命令用来发送HTTP请求。  -X参数:指定请求方式  -v参数:显示响应结果  -u参数:携带用户名/密码  -H参数:携带请求消息头信息  命令:curl- 查看详情

通过命令调用jenkins

1,自动启动jenkins的job:启动不带参数的job:curl --user USER:PASSWORD  JENKINS_URL/job/JOBNAME/build启动带参数的job:curl --user USER:PASSWORD  JENKINS_URL/job/JOBNAME/buildWithParam 查看详情

jenkins触发job插件_join

...个触发job的插件,它可以设置等待当前job的所有下游job都执行完后,再触发另一个job。比如跑大量的自动化测试脚本时,可能会构建多个job来进行。这时候有个需求,就是当这个多个自动化测试job跑完后,要调用一个job来整合这... 查看详情

jenkins只能同时构建2个job怎么办?

...能构建2个,如果两个没有job没有结束,构建第3个就会不执行:提示:pending—Waitingfornextavailableexecutoron主服务器通过设置节点中一下配置#ofexecutors:最大同时构建数量根据机器的性能定,单颗四核cpu建议不要超过5)【必须为数字... 查看详情

jenkins构建成功,构建的jar保存在哪?

...runk/dev/target 参考技术C如果是mavenproject,那要看执行了什么命令1.mvnpackagejar在../jobs/jobname/workspace/projectname/target/2.mvninstalljar在../jobs/jobname/workspace/projectname/target/和../.m2/..3.mvndeployjar在../jobs/jobname/workspace/projectname/target/和../.m2/..和私... 查看详情