【发布时间】:2019-07-13 16:58:54
【问题描述】:
我得到了这个共享库vars/libOne,它将composeFileNames 参数作为字符串列表。
#!/usr/bin/env groov
def call(String param1, String param2, String parm3, String[] composeFileNames ) {
String s =''
for (int i = 0; i < composeFileNames.size(); i++) { s +=' -f ./'+ composeFileNames[i] }
}
....
这个libOne 在另一个共享库/vars/libTwo 中被调用,如果我定义了管道步骤和我在Jenkins 中传递的映射变量:
#!/usr/bin/env groovy
def call(Map pipelineParams) {
node (...) {
stage("call libOne"){
libOne (pipelineParams.param1, pipelineParams.param2, pipelineParams.param3, pipelineParams.composeFileNames )
}
我想在 jenkins 中调用我的 libTwo 并将两个字符串参数作为composeFileNames 传递:
@Library('myLib ') _
libTwo(param1: 'string ',
param2: 'string',
param3: 'string',
composeFileNames: ['string1','string2']
)
问题是我该如何正确地做到这一点,因为上面的代码给了我错误:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: dockerComposeVicDeploy.call() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.util.ArrayList) values: [param1, pamam2, param3, ...]
【问题讨论】:
标签: jenkins groovy jenkins-groovy jenkins-shared-libraries