我有多个maven项目,其中on依赖另一个。这些项目正在建立一个专门的构建图像,并通过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"]
我的数据卷的文件夹一直都是空的,所以我的文件可能有些错误。
我希望你能帮助我。
答案 0 :(得分:2)
问题是您正在创建构建映像的容器,然后将其删除。创建不运行容器,它只是创建它。所以要么使用
sh 'docker run --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image'
或添加
sh 'docker start build-james-plugin-interface'
创建命令后。