maven镜像制作

故事背景:

需要在客户现场部署测试demo,由于部署环境不提供外网环境,应用所需依赖无法通过外网下载。

初步的解决方案,在本地起一个maven的容器,将代码copy到maven的容器内,进行打包操作,生成缓存,再将容器commit成新的Maven镜像。

实施过程:

1.现在本地拉一个maven的镜像并生成容器

2.通过docker copy 将代码复制到容器中,并通过mvn 命令打包

3.通过docker commit 将生成的容器打包成新的镜像。

注意:

重点来了,上述过程尝试了无数遍,发现缓存并没有被commit进新的镜像。

罪魁祸首就是它。没错,这个目录是通过Volumes挂载进去的......说点什么好呢......

看来这个方案不可用!就到此结束这篇微博吧......浪费大家这么多时间......

开玩笑的,不过当时我确实蛮绝望的。然后就想到了以下这个很dirty的办法:

找到maven的settings.xml文件,然后把默认的本地缓存目录改掉:

比如改成这样,然后重复上面第二第三步的操作就搞定了。

 

当然这是个临时的解决方案,从长远的角度上来讲,这是个不靠谱的方法。

那么有什么靠谱的办法呢:比如搭建一个nexus,artifactory等这类的本地仓库。

 

相关文章:

Centos 7 通过yum的方式安装配置Artifactory 5.10

sonatype Nexus3 install on Kubernetes

 

posted @ 2018-04-12 15:38  Bourbon.Tian  阅读(772)  评论(0编辑  收藏