Используйте @grab в Jenkinsfile - PullRequest
       21

Используйте @grab в Jenkinsfile

0 голосов
/ 08 ноября 2018

Как описано в этих документах https://jenkins.io/doc/book/pipeline/shared-libraries/ http://docs.groovy -lang.org / последний / HTML / документы / grape.html # _quick_start

Я хочу использовать @Grab внутри моего Jenkinsfile, но у меня есть ошибка

@Grab('com.blabla:MyArtifact:0.1.0')

import com.blabla.MyClass

И у меня есть эта ошибка

java.lang.RuntimeException: не найден подходящий ClassLoader для захвата at sun.reflect.GeneratedConstructorAccessor25608.newInstance (неизвестный источник) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) в java.lang.reflect.Constructor.newInstance (Constructor.java:423) в org.codehaus.groovy.reflection.CachedConstructor.invoke (CachedConstructor.java:83) в org.codehaus.groovy.runtime.callsite.ConstructorSite $ ConstructorSiteNoUnwrapNoCoerce.callConstructor (ConstructorSite.java:105) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor (CallSiteArray.java:60) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor (AbstractCallSite.java:235) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor (AbstractCallSite.java:247) at groovy.grape.GrapeIvy.chooseClassLoader (GrapeIvy.groovy: 182) at groovy.grape.GrapeIvy $ chooseClassLoader.callCurrent (неизвестный источник) на groovy.grape.GrapeIvy.grab (GrapeIvy.groovy: 249) на groovy.grape.Grape.grab (Grape.java:167) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.codehaus.groovy.reflection.CachedMethod.invoke (CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke (MetaMethod.java:325) в org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke (StaticMetaMethodSite.java:46) в org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic (StaticMetaMethodSite.java:102) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic (CallSiteArray.java:56) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic (AbstractCallSite.java:194) в org.kohsuke.groovy.sandbox.impl.Checker $ 2.call (Checker.java:188) в org.kohsuke.groovy.sandbox.impl.Checker.checkedStaticCall (Checker.java:190) в org.kohsuke.groovy.sandbox.impl.Checker $ checkedStaticCall $ 6.callStatic (неизвестный источник) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic (CallSiteArray.java:56) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic (AbstractCallSite.java:194) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic (AbstractCallSite.java:222) на WorkflowScript. (WorkflowScript) Причина: java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) в java.lang.reflect.Constructor.newInstance (Constructor.java:423) в java.lang.Class.newInstance (Class.java:442) в org.codehaus.groovy.runtime.InvokerHelper.createScript (InvokerHelper.java:434) at groovy.lang.GroovyShell.parse (GroovyShell.java:700) в org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse (CpsGroovyShell.java:131) в org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse (CpsGroovyShell.java:125) в org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript (CpsFlowExecution.java:560) в org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start (CpsFlowExecution.java:521) в org.jenkinsci.plugins.workflow.job.WorkflowRun.run (WorkflowRun.java:330)в hudson.model.ResourceController.execute (ResourceController.java:97) at hudson.model.Executor.run (Executor.java:429) Закончено: ОТКАЗ

Я проверил свою артефакт, и мой артефакт на самом деле внутри. Если я пытаюсь получить неверную версию, у меня появляется другая ошибка.

...