不要使用 docker:maven 镜像作为基础镜像构建 Dockerfile 。

如果非要使用的话,需要将 settings.xml 等文件手动添加到 /usr/share/maven/ref/repository 目录下,再执行构建(因为 docker:maven 镜像默认设定本地仓库为 /usr/share/maven/ref/repository)。

FROM maven:3.6.0-jdk-8-alpine

COPY settings.xml /usr/share/maven/ref/

镜像构建完毕,开始启动容器。将 自动执行脚本 mvn-entrypoint.sh,用于将 /usr/share/maven/ref/repository 中的内容重新挂载到 .m2 目录下。

如果需要将 jar包打包成 docker 镜像,可以直接使用 docker-maven-plugin 插件,无需手动编写上述 DockerFile 文件。构建完成后,将构建后的镜像推送到镜像仓库中。

除此之外,我们可以直接使用 docker:maven镜像启动一个容器,在该容器中执行 package 操作。这里可以挂载本地文件中的 .m2 到容器中的 /root/.m2。比如:

pipeline {

agent {

docker {

image 'maven:3-alpine'

args '-v $HOME/.m2:/root/.m2'

}

}

stages {

stage('Build') {

steps {

sh 'mvn -B -DskipTests clean package'

}

}

}

}

233

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐