2016-11-24 5 views
1

Я в настоящее время пытаюсь получить трубопровод, идущий с помощью плагина Jenkins. Когда я использую плагин как buildstep в проекте freenyle jenkins, он отлично работает. Когда я запускаю maven прямо из конвейера, он работает отлично. Когда я запускаю maven через плагин Artifactory, используя сценарий ниже, он терпит неудачу. Ошибка, которую я получаю:Jenkins Artifactory плагин не обнаруживает мой компилятор во время сборки maven

В этой среде не существует компилятора. Возможно, вы используете на JRE, а не JDK?

Это мой текущий сценарий:

node { 

    stage ('clone') { 
     git credentialsId: 'git', url: '<URL to GIT repo>' 
    } 

    stage ('build and deploy') { 
     env.JAVA_HOME="${tool 'JDK8'}" 
     env.PATH="${env.JAVA_HOME}/bin:${env.PATH}" 

     def server = Artifactory.server "arti-test" 
     def buildInfo = Artifactory.newBuildInfo() 
     buildInfo.env.capture = true 
     def rtMaven = Artifactory.newMavenBuild() 
     rtMaven.tool = 'M3' 
     rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot' 
     rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local' 

     rtMaven.run pom: 'pom.xml', goals: 'clean install', buildInfo: buildInfo 

     buildInfo.retention maxBuilds: 10, maxDays: 7, deleteBuildArtifacts: true 
     server.publishBuildInfo buildInfo 
    } 

} 

ответ

2

Следующий релиз Дженкинс Artifactory плагина будет включать в себя API для установки JDK для использования Maven и Gradle трубопроводы строит. См. Эту проблему, которая отслеживает эту задачу: https://www.jfrog.com/jira/browse/HAP-848 В качестве временного обходного пути вы можете добавить свой каталог JDK/bin в переменную среды PATH в агенте сборки Jenkins. Вам нужно добавить его непосредственно на машину агента (не через Jenkine).