Jenkins同参数Job无法进入排队的问题解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins同参数Job无法进入排队的问题解决相关的知识,希望对你有一定的参考价值。
参考技术A Same Parameters Jenkins Job解决
Jenkins中,有这样的一个规则:
当有一个任务,正在排队(排队等待正在进行的任务);这时候,重新开始一个新的任务,而这个任务的参数,完全跟正在排队的任务的参数(Parameters)一样时,这个新的任务,将不会进入排队,也就是直接被忽略了。
既然知道了原理,解决方法很简单,只要添加一个参数项,填入与其它Job不一样的参数,任务的参数判断不一样,就不会被忽略掉了。
有两种建议的方法:
方法1:添加一个参数项叫DESCRIPTION,让触发任务的同学把“为什么要进行这个任务”写上去。 这样也方便了后边进行任务的追踪。
方法2:使用Jenkins插件 Random String Parameter ,然后添加参数类别选择Random String Parameter。这样,每次触发任务,都会生成一个随机字符串的参数,来避免相同参数的任务被过滤。
对于我,是两种方法都同时使用了
参考文章:
http://stackoverflow.com/questions/31741205/jenkins-same-parameters-on-multiple-jobs
Jenkins定时构建并传递构建参数
Jenkins定时构建不能传递参数,所以我们使用crontab+Jenkins远程构建的方式来实现
生成API Token
进入Jenkins的用户设置页面,生成一个API Token
调用Jenkins远程API
使用curl命令调用接口,并在Jenkins上确认参数传递成功
Simple example - sending "String Parameters":
curl JENKINS_URL/job/JOB_NAME/buildWithParameters \\
--user USER:TOKEN \\
--data id=123 --data verbosity=high
Another example - sending a "File Parameter":
curl JENKINS_URL/job/JOB_NAME/buildWithParameters \\
--user USER:PASSWORD \\
--form FILE_LOCATION_AS_SET_IN_JENKINS=@PATH_TO_FILE
配置crontab
比如周一至周五22:00构建
[root@jenkins jobs]# crontab -l
0 22 * * 1-5 curl http://172.19.201.222:8080/job/testjob/buildWithParameters --user wemux:115432405374b224f2338aa90db2c4f67e --data branch=1.0.1 --data version=1.0.1
以上是关于Jenkins同参数Job无法进入排队的问题解决的主要内容,如果未能解决你的问题,请参考以下文章