2016-11-28 89 views
0

我試圖用Jenkins Pipeline將我的構件推送到Artifactory,它調用Gradle工具。Jenkins + Gradle + Artifactory:無法讀取生成的構建信息

我下面GitHub上發表的例子:

我詹金斯管道腳本:

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 

} 

我的搖籃文件很輕,我只是使用插件Gradle Release Plugin執行gradle釋放。

當執行管道時,出現此消息:

: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 

當我檢查服務器上,不存在這樣的文件/tmp/generated.build.info4898776990575217114.json(用戶當然有寫入/ tmp的權限)。

感謝您的幫助。

[編輯]這很奇怪,但我發現一些名爲「buildInfo2408849984051060030.properties」的文件,其中包含的信息。名字是不一樣的,既不是格式,這些文件都存儲在我的Jenkins機器上,而不是我的從機執行管道。

+3

Jenkins Artifactory插件2.8.2版有一些與您的問題相關的改進。 我們改變了保存生成文件的方式,另外我們添加了更多的信息日誌。 相關的提交可以在https://github.com/JFrogDev/build-info/commit/9180bb9ccc31a0217ff645221bccc93d6a2f603d找到。 –

回答

0

謝謝@ tamir-hadad,它確實已經在2.8.2上修復了。

相關問題