我该如何在詹金斯(Nenkins)中工作n次?

时间:2018-09-18 07:43:02

标签: batch-file jenkins groovy

在詹金斯(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]);
}

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:3)

我找到了答案!

我们需要在詹金斯(Jenkins)中创建2条管道:下游作业和上游作业。

1。下游作业已参数化,并在“常规”部分中采用了1个字符串参数 enter image description here

然后,它仅在“管道”部分中打印选择参数: enter image description here

以下是此下游作业的结果: enter image description here

2。上游作业具有一个数组,其中包含下游作业的所有可能参数。    然后在循环中,它使用数组中的每个参数运行下游作业。 enter image description here

结果是,上游作业将对每个参数运行3次下游作业。

:)

答案 1 :(得分:2)

根据您的上述代码,我认为您无法运行Jenkins的工作。但是您可以使用“定期构建”在Jenkins中配置cronjob,以定期运行Jenkins作业。

转到 Jenkins工作> 配置> 在构建触发器中勾选“定期构建” 然后将cronjob语法如下图所示,然后保存。

enter image description here

此作业每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!"
            }
        }
    }
}