如何简化重复构建作业的语法?
How to simplify repeated build job syntax?
我有以下 Groovy 脚本:
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
// ...
}
}
旨在 运行 Jenkins 中的多个参数化作业。由于我有大量作业要 运行 使用不同的参数,我想避免重复相同的语法并定义一次参数并重新使用它。
第一个Name参数不同,其余相同。如何重用相同的参数 (Param1-Param5) 而不是一遍又一遍地重复相同的代码?
如何实现?
你可以用一个简单的方法做到这一点:
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
}
我有以下 Groovy 脚本:
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
// ...
}
}
旨在 运行 Jenkins 中的多个参数化作业。由于我有大量作业要 运行 使用不同的参数,我想避免重复相同的语法并定义一次参数并重新使用它。
第一个Name参数不同,其余相同。如何重用相同的参数 (Param1-Param5) 而不是一遍又一遍地重复相同的代码?
如何实现?
你可以用一个简单的方法做到这一点:
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
}