在詹金斯(Jenkins)中是否有可能创建一个工作,该工作将运行n次?
我想在配置中编写脚本(Windows批处理命令/ groovy),该脚本可以使我执行此操作。在此脚本中,我想要一个带有参数的数组,然后在循环中对每个参数运行此作业。它看起来应该像这样:
paramArray [] = ["a","b","c"];
for(int i = 0; i < paramArray.length; i++)
{
//Here I want to run this job with each parameter
job.run(paramArray[i]);
}
请帮我解决这个问题。
答案 0 :(得分:3)
我找到了答案!
我们需要在詹金斯(Jenkins)中创建2条管道:下游作业和上游作业。
1。下游作业已参数化,并在“常规”部分中采用了1个字符串参数
2。上游作业具有一个数组,其中包含下游作业的所有可能参数。 然后在循环中,它使用数组中的每个参数运行下游作业。
结果是,上游作业将对每个参数运行3次下游作业。
:)
答案 1 :(得分:2)
根据您的上述代码,我认为您无法运行Jenkins的工作。但是您可以使用“定期构建”在Jenkins中配置cronjob,以定期运行Jenkins作业。
转到 Jenkins工作> 配置> 在构建触发器中勾选“定期构建” 然后将cronjob语法如下图所示,然后保存。
此作业每15分钟运行一次。您还可以在时间表中设置特定时间。
答案 2 :(得分:0)
请参见“ https://jenkins.io/doc/book/pipeline/jenkinsfile/”中“处理参数”部分中的示例:使用这样的Jenkins文件(此处示例是从该文档复制过来的),您可以启动“使用参数构建”并提供参数。由于需要多个参数,因此可以使用或分隔它们。或其他基于您数据的信息。您只需解析输入参数即可使用您选择的定界符获取值。
pipeline {
agent any
parameters {
string(name: 'Greeting', defaultValue: 'Hello', description: 'How should I greet the world?')
}
stages {
stage('Example') {
steps {
echo "${params.Greeting} World!"
}
}
}
}