2016-09-16 82 views
6

问题我尝试建立一个泊坞窗容器内我的项目,图像看起来是这样的:与詹金斯管道脚本和泊坞窗行家形象

FROM maven:3.3.9-jdk-8 
WORKDIR mvnBuildDir 
ENTRYPOINT ["mvn"] 

,如果我跑像下面一切正常,我的容器。

docker run -v /home/user/Worspace/myMavenProject:/mvnBuildDir myMaven3 clean package 

但如果我尝试这在我Jenkinsfile我这是在告诉我什么错误。 Jenkinsfile:

//... 
def maven = docker.image("myMaven3"); 
maven.inside("-v ${workdir}:/mvnBuildDir"){ 
    stage "build and test" 
    sh "mvn clean install" 
} 
//.. 

错误:

[Pipeline] { 
[Pipeline] stage (build and test) 
Entering stage build and test 
Proceeding 
[Pipeline] sh 
[master] Running shell script 
+ mvn clean install -s mvnSettings.xml 
[Pipeline] } 
$ docker stop 1fc920c00b46a1038b0f39e2adc6e67f702d48ccf10d3e0bb3514d1cee3a795b 
$ docker rm -f 1fc920c00b46a1038b0f39e2adc6e67f702d48ccf10d3e0bb3514d1cee3a795b 
[Pipeline] // withDockerContainer 
[Pipeline] } 
[Pipeline] // withDockerRegistry 
[Pipeline] } 
[Pipeline] // withEnv 
[Pipeline] } 
[Pipeline] // node 
[Pipeline] End of Pipeline 
ERROR: script returned exit code -1 
Finished: FAILURE 

有没有人有一个想法的问题是在这里或有任何其他的解决方案如何建立我的泊坞窗容器内的项目是什么? 我的整个工作空间都被映射到容器中,所以问题不在于我认为找不到pom或其他东西。如果我运行'mvn --version',我得到了正确的输出结果。 感谢迄今。

回答

-1

当使用docker镜像时,我的行为已经结束,但docker仍在运行,所以我没有输出。

您可以尝试通过shell调用docker。

sh 'docker pull myMaven3'

sh 'docker run --rm -v ${workdir}:/mvnBuildDir myMaven3 clean install'

+0

詹金斯管道经由卷安装的源代码到搬运工容器。我认为这不会起作用。 –