2017-07-25 123 views
0

我有多个maven项目,其中依赖于另一个。这些项目正在建造一个专用的构建图像,并通过jenkins构建。共享共享数据存储库的数据卷

我的计划是有一个包含Maven资源库文件夹,在其中所有的依赖条件应存放和我自己的依赖应该安装在一个共享的数据量。同时建立我的依赖

不幸的是这alread失败。作为参考,这是我的Jenkinsfile:

node { 

    stage ('Initializing') { 
     checkout scm 
    } 

    stage ('Build Artifact') { 
     sh 'docker build -f="Dockerfile" -t build-image .' 
     sh 'docker create --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image' 
     sh 'docker rm build-james-plugin-interface' 
    } 
} 

这是我生成图像的Dockerfile:

FROM qnerd/rpi-maven 

ENV BUILD_HOME=/usr/local/james/ 

RUN mkdir -p $BUILD_HOME 
WORKDIR $BUILD_HOME 
ADD pom.xml $BUILD_HOME 

# add source 
ADD . $BUILD_HOME 

# run maven verify 
ENTRYPOINT ["mvn","clean","install"] 

我的数据卷的文件夹保持空着的,所以可能有一些错误在我的文件中。

我希望你能帮助我。

回答

2

问题是,你正在创建一个你的构建图像的容器,然后删除它。创建不运行容器,它只是创建它。因此,无论使用

sh 'docker run --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image' 

或创建命令后添加

sh 'docker start build-james-plugin-interface' 

+0

谢谢你,这个伎俩! – mietzekotze