如何简化重复构建作业语法? [英] How to simplify repeated build job syntax?

查看:95
本文介绍了如何简化重复构建作业语法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有下面的Groovy脚本:

  node {
stage('Testing'){
build job:'Test',参数:[string(name:'Name',value:'Foo'),string(name:'Param1',value:Param1),string(name:'Param2',value:参数2),字符串(名称:'参数3',值:参数3),字符串(名称:'参数4',值:参数4),字符串(名称:'参数5',值:参数5)],quietPeriod:2,等待:假
build job:'Test',参数:[string(name:'Name',value:'Bar'),string(name:'Param1',value:Param1),string(name:'Param2', value:Param2),string(name:'Param3',value:Param3),string(name:'Param4',value:Param4),string(name:'Param5',value:Param5)],quietPeriod:2,wait :false
build job:'Test',参数:[string(name:'Name',value:'Baz'),string(name:'Param1',value:Param1),string(name:'Param2 ',value:Param2),字符串(名称:'Param3',值:Param3), string(name:'Param4',value:Param4),string(name:'Param5',value:Param5)],quietPeriod:2,wait:false
// ...
}

$ / code>

它旨在在Jenkins中运行多个参数化作业。由于我有大量的作业使用不同的参数运行,因此我想避免重复相同的语法并定义一次参数并重用它。



第一个 Name 参数不同,但其余部分是相同的。如何重复使用相同的参数( Param1 - Param5 )而不重复相同的代码?

如何实现这一点?

解决方案

你可以用一个简单的方法做到这一点:

  node {
stage('Testing'){
buildJob('Foo')
buildJob('Bar')
buildJob('Baz')
// ...
}
}

def buildJob(name){
build job:'Test ',参数:[string(name:'Name',value:name),string(name:'Param1',value:Param1),string(name:'Param2',value:Param2),string(name:'Param3 ',value:Param3),string(name:'Param4',value:Param4),string(name:'Param5',value:Param5)],quietPeriod:2,wait:false
}


I've the following Groovy script:

node {
    stage('Testing') {
        build job: 'Test', parameters: [string(name: 'Name', value: 'Foo'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Bar'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Baz'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false
        // ...
    }
}

which aims to run multiple parameterized jobs in Jenkins. Since I've huge number of jobs to run with different parameters, I'd like to avoid repeating the same syntax and define parameters once and reuse it.

The first Name parameter is different, but the rest is the same. How can I reuse the same parameters (Param1-Param5) without repeating the same code over and over again?

How this can be achieved?

解决方案

You could do that with a simple method :

node {
    stage('Testing') {
        buildJob('Foo')
        buildJob('Bar')
        buildJob('Baz')
        // ...
    }
}

def buildJob(name) {
    build job: 'Test', parameters: [string(name: 'Name', value: name), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false
}

这篇关于如何简化重复构建作业语法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆