2016-10-27 5 views
0

У меня есть Jenkins 1.6, работающий на Openshift. Я пытаюсь построить простой Jenkins трубопровод, который строит из репозитория Git:Базовый трубопровод Jenkins не работает

node { 
    git url: 'https://github.com/fmarchioni/kitchensink-example.git' 
    def mvnHome = tool 'M3' 
    sh "${mvnHome}/bin/mvn clean install" 
} 

Когда я пытаюсь построить трубопровод он терпит неудачу с неясным сообщением:

[Pipeline] node 
Running on master in /var/lib/jenkins/jobs/pipeline/workspace 
[Pipeline] { 
[Pipeline] git 
> git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> git config remote.origin.url https://github.com/fmarchioni/kitchensink-example.git # timeout=10 
Fetching upstream changes from https://github.com/fmarchioni/kitchensink-example.git 
> git --version # timeout=10 
> git -c core.askpass=true fetch --tags --progress https://github.com/fmarchioni/kitchensink-example.git +refs/heads/*:refs/remotes/origin/* 
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10 
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10 
Checking out Revision 90df980f2c86f9a59d872bc8650ecfd0800c51bd (refs/remotes/origin/master) 
> git config core.sparsecheckout # timeout=10 
> git checkout -f 90df980f2c86f9a59d872bc8650ecfd0800c51bd # timeout=10 
> git branch -a -v --no-abbrev # timeout=10 
> git branch -D master # timeout=10 
> git checkout -b master 90df980f2c86f9a59d872bc8650ecfd0800c51bd 
First time build. Skipping changelog. 
[Pipeline] tool 
[Pipeline] sh 
[workspace] Running shell script 
+ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/M3/bin/mvn clean install 
[Pipeline] } 
[Pipeline] // node 
[Pipeline] End of Pipeline 
ERROR: script returned exit code -1 
Finished: FAILURE 

У вас есть идея о том, что может быть неправильным? Thanks

ответ

1

Я подозреваю, что конкретный сценарий оболочки, mvn clean install, заблуждается. Если вы можете, попробуйте SSHing в картридж и попробуйте эту команду Mavin напрямую. Вы могли бы добавить опции отладки (от https://books.sonatype.com/mvnref-book/reference/running-sect-options.html) и, надеюсь, увидеть еще один полезный вывод!

0

Попробуйте использовать шаг withMaven, чтобы скопировать команду. Это позволит специфицировать версию инструмента maven и JDK, а также дополнительные параметры конфигурации.

withMaven(jdk: '<JDK name>', maven: '<maven name>') { 
    sh 'mvn clean install' 
    } 

Он также документировать конфигурацию в build.log:

[Pipeline] withMaven 
[withMaven] Options: [] 
[withMaven] Available options: 
[withMaven] use JDK installation <JDK name> 
[withMaven] use Maven installation '<maven name>' 
[Pipeline] sh 
[workspace] Running shell script 

Вы можете посмотреть по ссылке Pipeline Синтаксис. Он может генерировать фрагменты, которые можно использовать для отдельных шагов. Он отобразит параметры, доступные для шага withMaven.

enter image description here

Смежные вопросы