У меня есть функция, подобная следующей
def runTestsInDocker(arg) {
measureDuration(script: this, measurementName: 'build') {
executeDocker(dockerImage: dockerImage, dockerWorkspace: '/go/src') {
sh """
mkdir -p /go/src/github.com/ftr/myGoPro
go ${arg}
"""
}
}
Когда у меня только 1 параметр, он работает как положено. Теперь я хочу добавить новые параметры, чтобы я мог сделать что-то вроде этого
def runTestsInDocker(arg,arg2,arg3) {
measureDuration(script: this, measurementName: 'build') {
executeDocker(dockerImage: dockerImage, dockerWorkspace: '/go/src') {
sh """
mkdir -p /go/src/github.com/ftr/myGoPro
go ${arg}
go ${arg1}
go ${arg2}
"""
}
}
Но здесь у меня две проблемы
1.Что произойдет, если мне нужно будет передать только один параметр?
Если мне нужно передать 10 параметров, у меня будет 10 аргументов?
Есть ли лучший способ справиться с этим?
обновление , допустим, мне нужно вызвать функцию с 1 параметром
def runTestsInDocker(Map<String,String> params) {
measureDuration(script: this, measurementName: 'build') {
executeDocker(dockerImage: dockerImage, dockerWorkspace: '/go/src') {
sh """
mkdir -p /go/src/github.com/ftr/myGoPro
go ${params.get('arg')}
"""
}
}
и другую функцию
def runTestsInDocker(Map<String,String> params) {
measureDuration(script: this, measurementName: 'build') {
executeDocker(dockerImage: dockerImage, dockerWorkspace: '/go/src') {
sh """
mkdir -p /go/src/github.com/ftr/myGoPro
go ${params.get('arg')}
go ${params.get('arg1')}
"""
}
}
Не знаюНе знаю заранее, сколько параметров мне нужно будет использовать, так как я могу сделать это динамически?