docker中maven的镜像设置设置无效?

itwriter 发布于 2018/10/17 19:33
阅读 3K+
收藏 1

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

环境:centos7 maven3.5.4

把docker中的.m2映射出来后,给其中的setting-docker.xml添加镜像设置。但编译下载依赖时,设置没有生效,还是使用默认的maven下载地址。

maven配置:


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>/usr/share/maven/ref/repository</localRepository>
<mirrors>
        <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
</settings>

docker的运行命令放在jenkins pipeline中,如下:

pipeline {
    agent {
        docker {
            image 'maven:3.5.4-jdk-8'
            args '-v /home/garview/volumns/.m2:/root/.m2'
        }
    }
……
}

请问,这个问题该如何解决?

加载中
2
yysf
yysf
确定编译的时候是root用户执行吗 setting.xml最好作为命令行参数
yysf
yysf
回复 @itwriter : mvn命令是可以传递参数的 mvn package --settings ./settings.xml
itwriter
itwriter
是root。setting.xml作为命令行参数是什么意思,怎么用?
0
itwriter
itwriter

经验证,楼上提到的确实是个可行的办法。

除此以外,还有个办法,就是直接使用阿里docker hub中定制的maven镜像,无须任何配置就可以使用阿里的maven仓库。

楼上的方法通用性更好,更灵活。如果只是需要设置镜像的话,直接使用阿里的maven docker镜像更方便。

0
loyal
loyal
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
DDD恶棍
DDD恶棍

setting-docker.xml 同级目录下放一个settings.xml即可,这个settings.xml中放你的配置

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部