共享 Maven 存储库的共享数据量
Sharing data-volume for shared maven repository
我有多个 Maven 项目,其中一个依赖于另一个。这些项目正在专用构建映像中构建,并通过 jenkins 构建。
我的计划是有一个共享数据卷,里面有maven repository文件夹,里面应该存放所有的依赖,我自己的依赖也应该安装在里面。
不幸的是,在建立我的依赖项时,这已经失败了。作为参考,这是我的 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"]
我的数据卷的文件夹一直是空的,所以我的文件可能有一些错误。
希望你能帮帮我。
问题是您正在创建构建映像的容器,然后将其删除。 Create 不会 运行 容器,它只是创建它。所以要么使用
sh 'docker run --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image'
或添加一个
sh 'docker start build-james-plugin-interface'
创建命令后。
我有多个 Maven 项目,其中一个依赖于另一个。这些项目正在专用构建映像中构建,并通过 jenkins 构建。
我的计划是有一个共享数据卷,里面有maven repository文件夹,里面应该存放所有的依赖,我自己的依赖也应该安装在里面。
不幸的是,在建立我的依赖项时,这已经失败了。作为参考,这是我的 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"]
我的数据卷的文件夹一直是空的,所以我的文件可能有一些错误。
希望你能帮帮我。
问题是您正在创建构建映像的容器,然后将其删除。 Create 不会 运行 容器,它只是创建它。所以要么使用
sh 'docker run --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image'
或添加一个
sh 'docker start build-james-plugin-interface'
创建命令后。