Jenkins如何为相同的作业运行相同的作业定义参数?

时间:2018-04-23 19:57:34

标签: jenkins jenkins-pipeline build-automation continuous-deployment

我的要求是我编写了一个bash脚本,可以在几个ip和端口上监视telnet。我使用了包含输入数据的CSV,脚本将读取CSV中的每一行并检查ip是否可以是telnet。

但是我要求对它进行jenkinize,我想知道是否有一种方法可以在Jenkins作业中使用不同的组合或值来定义我的参数 比如说:

PARAM_KEY:VAL_1

PARAM_KEY:VAL_2

PARAM_KEY:VAL_3

因此,我可以在脚本中使用PARAM_KEY,并且对所有定义的参数执行Jenkins作业,即基于定义的PARAMETERS的数量,即上述情况中的3。 任何人都可以指导我这个要求。

1 个答案:

答案 0 :(得分:0)

如果你想运行1个作业并迭代内部的ips,你可以解析管道内的CSV文件或将其作为参数传递(然后将其拆分)

// example of pipeline code
node ('slave80') {

    csvString = "1.1.1.1,2.2.2.2,3.3.3.3" // can be sent as parameter

    def ips = csvString.split(',')
    ips.each { ip -> 

       sh """
           ./bash_script ${ip}
       """
    }
}