赞
踩
Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的。如果我们没网了或者什么情况,
我们怎么办?也就是说我们队中央仓库的依赖性太大。而Nexus私服则可以解决我们这个问题。先看下这张图应该大家就会明白了:
这样就相当于在我们本地的局域网搭建了一个类似中央仓库的服务器,
我们开始将中央仓库的一些资料下载到私服务器上,然后平时我们的maven项目就是直接访问局域网内的私服即可,
既节省了网络带宽也会加速项目搭建的进程,这样对我们开发来说,对公司来说都是非常好的选择。
如果没有私服,我们所需的所有构件都需要通过 Maven 的中央仓库或者第三方的 Maven 仓库下载到本地,
而一个团队中的所有人都重复的从 Maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。
另外,很多情况下项目的开发都是在内网进行的,可能根本连接不了 Maven 的中央仓库和第三方的 Maven 仓库。
我们开发的公共构件如果需要提供给其它项目使用,也需要搭建私服。
Maven 私服的概念就是在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库。
当我们需要下载一些构件(artifact)时,如果本地仓库没有,再去私服下载,私服没有,
再去中央仓库下载。这样做会有如下一些优点:
Nexus 是一个专门的 Maven 仓库管理软件,它不仅能搭建 Maven 私服,
还具备如下一些优点使其日趋成为最流行的 Maven 仓库管理器 ,提供了强大的仓库管理功能,构件搜索功能,它基于 REST,友好的 UI 是一个 ext.js 的 REST 客户端 , 它占用较少的内存 , 基于简单文件系统而非数据库
[root@gt-web-wiki ~]# docker search nexus NAME DESCRIPTION STARS OFFICIAL AUTOMATED sonatype/nexus3 Sonatype Nexus Repository Manager 3 1091 sonatype/nexus Sonatype Nexus 448 [OK] nexusnetsoft/shopware-app 1 nexusstats/nexus-stats 1 nexusjpl/collection-manager 1 nexusjpl/solr-cloud 0 nexusera/influx 0 nexusjpl/granule-ingester 0 nexusjpl/cassandra 0 nexusera/device 0 nexusnetsoft/bitbucket-pipline-php 0 nexusjpl/ningester 0 nexusera/auth 0 nexusera/backmanager 0 nexusera/notify 0 nexusjpl/nexus-webapp 0 nexusera/ddi 0 nexusjpl/solr-cloud-init 0 nexus166/gobld https://github.com/nexus166/gobld 0 nexusuw/delay-server a rather crummy mock server that can return … 0 [OK] nexuscore/phase-smith 0 nexusnetsoft/jenkins-php 0 nexus166/rocketchat https://github.com/nexus166/rocketchat-docker 0 nexusuw/node-8-python-aws-cli quick and dirty build image for doing both n… 0 [OK] nexusg/node-chrome Dockerfile for node:latest + chrome 0 [root@gt-web-wiki ~]#
docker pull sonatype/nexus3
mkdir /home/data/nexus
chown -R 200 /home/data/nexus
docker run -itd \
-p 8081:8081 \
--name nexus \
-e NEXUS_CONTEXT=nexus \
-v /home/data/nexus:/nexus-data \
镜像ID
# 命令讲解 :
# 8081:8081表示宿主机端口和容器端口映射
# NEXUS_CONTEXT=nexus表示在访问Nexus后台web时,需要带上nexus进行访问,如http://ip:8081/nexus
# 本地若不存在sonatype/nexus3镜像,则会去下载,下载完毕后直接启动
# 查看admin密码
[root@gt-web-wiki nexus]# cat /home/data/nexus/admin.password
xaw760788698-cedwefwcwe-34vasdarfa
[root@gt-web-wiki nexus]#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。