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 컴퓨터에 저장되며 내 슬레이브는 파이프 라인을 실행하지 않습니다.
Jenkins Artifactory Plugin 버전 2.8.2는 문제와 관련하여 약간의 개선이있었습니다. 생성 된 파일을 저장하는 방법을 변경했으며 더 많은 정보 로그를 추가했습니다. 관련 커밋은 https://github.com/JFrogDev/build-info/commit/9180bb9ccc31a0217ff645221bccc93d6a2f603d에서 확인할 수 있습니다. –