简体   繁体   English

使用Jenkins管道推送到Artifactory

[英]Pushing to Artifactory using Jenkins pipeline

I'm pushing the artifacts using: 我使用以下方法推送工件:

stage('push_to_Artifactory') {
     def server = Artifactory.server 'Artifactory'
    url: 'http://artfact_URL', username: 'userid', password: 'swd'
def uploadSpec = 
"""
{
"files": [
    {
        "pattern": "*/target/*.jar",
        "target": "SCA_Test"
    },
     {
        "pattern": "*/target/*.ear",
        "target": "SCA_Test"
      }

  ]
}"""
server.upload(uploadSpec)

} }

This is working fine for me but 这对我来说很好,但是

1) It didn't follow any structure. 1)它没有遵循任何结构。 There's no version information and no POMs or xml files. 没有版本信息,也没有POM或xml文件。

2) When I add the Buildinfo code that is 2)当我添加的Buildinfo代码是

    def buildInfo1 = server.download(downloadSpec)

def buildInfo2 = server.upload(uploadSpec)

buildInfo1.append(buildInfo2)

server.publishBuildInfo(buildInfo1)

getting below error 低于错误

java.lang.ClassNotFoundException: hudson.plugins.git.util.BuildData
    at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
    at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
    at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.jfrog.hudson.pipeline.Utils.extractVcsBuildData(Utils.java:121)
    at org.jfrog.hudson.pipeline.BuildInfoDeployer.addVcsDataToBuild(BuildInfoDeployer.java:63)
    at org.jfrog.hudson.pipeline.BuildInfoDeployer.<init>(BuildInfoDeployer.java:59)
    at org.jfrog.hudson.pipeline.types.buildInfo.BuildInfo.createDeployer(BuildInfo.java:212)
    at org.jfrog.hudson.pipeline.types.buildInfo.BuildInfoAccessor.createDeployer(BuildInfoAccessor.java:75)
    at org.jfrog.hudson.pipeline.steps.PublishBuildInfoStep$Execution.run(PublishBuildInfoStep.java:59)
    at org.jfrog.hudson.pipeline.steps.PublishBuildInfoStep$Execution.run(PublishBuildInfoStep.java:39)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:42)
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:222)
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:148)
    at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
    at org.jfrog.hudson.pipeline.types.ArtifactoryServer.publishBuildInfo(ArtifactoryServer.java:135)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:47)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
    at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
Caused: java.lang.NoClassDefFoundError: hudson/plugins/git/util/BuildData
    at org.jfrog.hudson.pipeline.Utils.extractVcsBuildData(Utils.java:121)
    at org.jfrog.hudson.pipeline.BuildInfoDeployer.addVcsDataToBuild(BuildInfoDeployer.java:63)
    at org.jfrog.hudson.pipeline.BuildInfoDeployer.<init>(BuildInfoDeployer.java:59)
    at org.jfrog.hudson.pipeline.types.buildInfo.BuildInfo.createDeployer(BuildInfo.java:212)
    at org.jfrog.hudson.pipeline.types.buildInfo.BuildInfoAccessor.createDeployer(BuildInfoAccessor.java:75)
    at org.jfrog.hudson.pipeline.steps.PublishBuildInfoStep$Execution.run(PublishBuildInfoStep.java:59)
    at org.jfrog.hudson.pipeline.steps.PublishBuildInfoStep$Execution.run(PublishBuildInfoStep.java:39)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:42)
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:222)
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:148)
    at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
    at org.jfrog.hudson.pipeline.types.ArtifactoryServer.publishBuildInfo(ArtifactoryServer.java:135)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:47)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
    at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
    at WorkflowScript.run(WorkflowScript:53)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
    at sun.reflect.GeneratedMethodAccessor198.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:76)
    at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
    at com.cloudbees.groovy.cps.Next.step(Next.java:83)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:173)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:162)
    at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
    at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:162)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:35)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:32)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:32)
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

please help me with the above 2 issues. 请帮助我解决上述两个问题。

You are currently deploying artifacts in a generic way, which means that you are simply deploying the files matching the file spec to Artifactory. 当前,您正在以通用方式部署工件,这意味着您只是将与文件规范匹配的文件部署到Artifactory。 This will work fine, but as you mentioned will not have anything Maven specific. 这可以正常工作,但是正如您提到的,Maven不会有任何特定的东西。
If you wish to run Maven builds using the Artifactory plugin pipeline support you should follow the instructions for Maven Builds with Artifactory . 如果您希望使用Artifactory插件管道支持来运行Maven构建,则应遵循有关使用Artifactory进行Maven构建的说明。

The stacktrace indicates that you are missing the Jenkins git plugin . stacktrace指示您缺少Jenkins git插件 Installing the plugin should resolve the issue. 安装插件应该可以解决该问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM