我是groovy脚本(以前从未使用过)和Jenkins共享库的新手。我正在设置一个小管道,我将我的jenkinsfile和groovy脚本mavenTest上传到一个存储库中,它正在从那里被拉出来并运行我的管道。当我运行我的管道时,我有一个低于错误.
Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: ce13992b-a5cd-449b-8dc5-91f5c9dee3b3
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: mavenTest.call() is applicable for argument types: (org.jenkinsci.plugins.workflow.cps.CpsClosure2) values: [org.jenkinsci.plugins.workflow.cps.CpsClosure2@6bef082d]
Possible solutions: call(), wait(), any(), wait(long), main([Ljava.lang.String;), each(groovy.lang.Closure)
这是我的jenkinsfile
@Library('my-shared-library') _
pipeline {
agent any
stages {
stage('git checkout'){
steps {
script {
gitCheckout(
branch: "<mybranch>",
url: "<my repo url>"
)
}
}
}
stage('unit test maven'){
steps{
script {
mavenTest{}
}
}
}
}
}
这是我的mavenTest脚本
def call() {
sh 'mvn test'
}
还包括我的gitchekout脚本,它工作正常
def call(Map stageParams) {
checkout([
$class: 'GitSCM',
branches: [[name: stageParams.branch ]],
userRemoteConfigs: [[ url: stageParams.url ]]
])
}
这两个文件都放在vars文件夹中
1条答案
按热度按时间pwuypxnk1#
我一发布问题,几分钟后就发现了错误。在我的jenkinsfile中,而不是调用如下函数
我叫它像
mavenTest{}