Я попытался использовать CopyArtifacts(), а также написал настраиваемый блок настройки для копирования артефактов из сборки upstream. Я получаю ошибки в обоих, как показано ниже -CopyArtifacts (...) дает ошибку при использовании в job-dsl-plugin в Jenkins
FATAL: No signature of method: javaposse.jobdsl.dsl.Job.CopyArtifacts() is applicable for argument types: (java.lang.String, java.lang.String, jobDSL$_run_closure1_closure4_closure14) values: [xxx-StarTrooper-master.unity, target/**, [email protected]]
groovy.lang.MissingMethodException: No signature of method: javaposse.jobdsl.dsl.Job.CopyArtifacts() is applicable for argument types: (java.lang.String, java.lang.String, jobDSL$_run_closure1_closure4_closure14) values: [xxx-StarTrooper-master.unity, target/**, [email protected]]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
at jobDSL$_run_closure1_closure4.doCall(jobDSL.groovy:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
Мой фрагмент кода, как показано ниже -
CopyArtifacts(downstreamUnityJob.name,'target/**'){
buildNumber("${UNITY_BUILD_NUMBER}")
}
Когда я пытаюсь пользовательский конфигурационный блок я получаю сообщение об ошибке, а также -
FATAL: No signature of method: groovy.util.Node.call() is applicable for argument types: (java.lang.String) values: [xxx-StarTrooper-master.unity]
Possible solutions: wait(), name(), value(), any(), wait(long), get(java.lang.String)
groovy.lang.MissingMethodException: No signature of method: groovy.util.Node.call() is applicable for argument types: (java.lang.String) values: [xxx-StarTrooper-master.unity]
Possible solutions: wait(), name(), value(), any(), wait(long), get(java.lang.String)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at jobDSL$_run_closure1_closure4_closure14_closure16.doCall(jobDSL.groovy:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
и вот мой блок конфигурации -
configure {
project -> project/ builders/'hudson.plugins.copyartifact.CopyArtifact'{
projectName downstreamUnityJob.name //downstreamUnityJob comes from another job dsl object
project downstreamUnityJob.name
filter 'target/**'
selector('class':"hudson.plugins.copyartifact.SpecificBuild"){
buildNumber "$UNITY_BUILD_NUMBER"
}
}
}
Можете ли вы сообщить мне, что мне не хватает?
Спасибо. Это была опечатка. Даже после фиксации у меня была аналогичная проблема. Позднее я выяснил проблему. Вызов copyArtifacts (...) должен быть под шагами {...} – b0s0nparticle88
@ b0s0nparticle88: если вы найдете проблему, ответьте на нее сами и отметите ответ –