2016-11-28 5 views
0

私は、Gradleツールを呼び出すJenkins Pipelineを使用してArtifactoryにアーティファクトをプッシュしようとしています。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のファイルは、私は、非常に軽いですプラグインを使っているだけですGradle Release Pluginに切り替えて階調を行う。

パイプラインを実行する場合、それはこのメッセージで失敗します。私は、サーバー上でチェックすると

: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 Pluginバージョン2.8.2には、あなたの問題に関連する改善点がいくつかあります。 生成されたファイルを保存する方法を変更し、さらに情報ログを追加しました。 関連するコミットについては、https://github.com/JFrogDev/build-info/commit/9180bb9ccc31a0217ff645221bccc93d6a2f603dを参照してください。 –

答えて

0

Thanks @ tamir-hadad、実際には2.8.2で修正されています。

関連する問題