Jenkins + Gradle + Artifactory: Couldn't read generated build info

非 Y 不嫁゛ 提交于 2019-12-04 05:39:33

问题


I'm trying to push my artifacts to Artifactory with Jenkins Pipeline, which call Gradle tool.

I am following the examples published on GitHub:

  • Example1
  • Example2

My Jenkins Pipeline script:

stage('Perform Gradle Release') {

    //ssh-agent required to perform GIT push (when tagging the branch on release)
    sshagent([git_credential]) {
        sh "./gradlew clean release unSnapshotVersion -Prelease.useAutomaticVersion=true -Prelease.releaseVersion=${release_version} -Prelease.newVersion=${development_version}"
    }

    // Create an Artifactory server instance
    def server = Artifactory.server('my-artifactory')

    // Create and set an Artifactory Gradle Build instance:
    def rtGradle = Artifactory.newGradleBuild()
    rtGradle.resolver server: server, repo: 'libs-release'
    rtGradle.deployer server: server, repo: 'libs-release-local'

    //Use Gradle Wrapper
    rtGradle.useWrapper = true

    //Creates buildinfo
    def buildInfo = Artifactory.newBuildInfo()
    buildInfo.env.capture = true
    buildInfo.env.filter.addInclude("*")

    // Run Gradle:
    rtGradle.run rootDir: "./", buildFile: 'build.gradle', tasks: 'clean artifactoryPublish', buildInfo: buildInfo

    // Publish the build-info to Artifactory:
    server.publishBuildInfo buildInfo

}

My Gradle file is very light, I'm just using the plugin Gradle Release Plugin to perform gradle release.

When executing the pipeline, it fails with this message:

:artifactoryPublish

BUILD SUCCESSFUL

Total time: 17.451 secs
ERROR: Couldn't read generated build info at : /tmp/generated.build.info4898776990575217114.json
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
hudson.model.Run$RunnerAbortedException
    at org.jfrog.hudson.pipeline.Utils.getGeneratedBuildInfo(Utils.java:188)
    at org.jfrog.hudson.pipeline.steps.ArtifactoryGradleBuild$Execution.run(ArtifactoryGradleBuild.java:127)
    at org.jfrog.hudson.pipeline.steps.ArtifactoryGradleBuild$Execution.run(ArtifactoryGradleBuild.java:96)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:40)
...
Finished: FAILURE

When I check on the server, there is no such file /tmp/generated.build.info4898776990575217114.json (the user has of course permission to write to /tmp).

Thanks for your help.

[EDIT] It is weird, but I found some files named "buildInfo2408849984051060030.properties", containing the informations. The name is not the same, neither the format, and these files are stores on my Jenkins machine, not my slave executing the pipeline.


回答1:


Thanks @tamir-hadad, it has indeed been fixed on 2.8.2.



来源:https://stackoverflow.com/questions/40849703/jenkins-gradle-artifactory-couldnt-read-generated-build-info

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!