Nexus3 功能介绍

Nexus介绍

Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus支持WebDAV与LDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建Nexus私服?
如果没有Nexus私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

nexus私服的优点:
1)加速构建; 2)节省带宽; 3)节省中央maven仓库的带宽; 4)稳定(应付一旦中央服务器出问题的情况) 5)控制和审计; 6)能够部署第三方构件; 7)可以建立本地内部仓库 8)可以建立公共仓库


Maven与Nexus的之间关系

这个问题从Maven的第二个用处说起,依赖管理,通过在Pom中指定坐标的形式将jar引入到项目中。那这个过程,要经历怎样一个流程呢?从哪里寻找jar?下载的jar放到哪里?

将这个问题顺下来,就知道nexus和maven的关系了。

从哪里找到jar?项目用到的jar又存放在哪里?这引出了仓库的概念,maven通过仓库来统一管理各种构件。Maven的仓库分为本地仓库和远程仓库

nexus只是maven私有仓库的其中一种

私服介绍
私服是指私有服务器,是假设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当maven需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,在提供给本地仓库下载.



1、主页界面

1.1  Search

这个就是类似Maven仓库上的搜索功能,就是从私服上查找是否有哪些包。

注意:在Search这级是支持模糊搜索的

1.2  Browse

查看所有的仓库名

点开一个仓库,可以看到上传的包

1.3 Upload(顾名思义就是上传jar包到私服中,可以选择其中一个hosted仓库)

注意:通过页面直接上传的方式只是上传了jar包,若这个jar通过Maven依赖了其他jar,那其他项目在下载这个jar时无法取得它的依赖。所以,除非这个jar没有任何依赖,否则还是推荐通过命令行或者IDE的方式上传jar包,这样才会把pom一并上传。


2、Server Adminstration And configuration

看到这选项是要进行登录的,在右上角点击“Sign In”的登录按钮,输入admin/admin123,登录成功之后,即可看到此功能,如图所示:

2.1  Repository

2.1.1 Blob Stores

文件存储的地方,创建一个目录的话,对应文件系统的一个目录,如图所示我已经创建了两个额外的存储块:后面创建仓库的时候可以选择要使用的存储块

2.1.2 Repositories 仓库分为三种:Proxy、hosted、group

2.1.2.1 Proxy

这里就是代理的意思,代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。

这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。

创建Proxy的具体步骤

1、点击左上角的“Create Repositories”按钮

2、选择要创建的类型

3、填写详细信息

Name:就是为代理起个名字,我取名为“aliyun”

Remote Storage: 代理的地址,Maven的地址为: https://repo1.maven.org/maven2/,但Maven官方的代理访问速度太慢了,使用阿里云的Maven代理更好,http://maven.aliyun.com/nexus/content/groups/public

Blob Store: 选择代理下载包的存放路径,我选择的是之前创建的一个。

2.1.2.2 Hosted

Hosted是宿主机的意思,用于将第三方的Jar或者我们自己的jar放到私服上。

Hosted有三种方式,Releases、SNAPSHOT、Mixed

Releases: 一般是已经发布的Jar包

Snapshot: 未发布的版本

Mixed:混合的

Hosted的创建和Proxy类似,类型需选择maven2(hosted)。

注意:Deployment Pollcy,我们需要把策略改成“Allow redeploy”,以允许重复发布覆盖同版本的jar包。

2.1.2.3 Group

能把多个仓库合成一个仓库来使用,把上几步创建的代理仓库和宿主仓库都加入到“maven-public”仓库组中:

2.2  Security

包含用户、角色、权限的配置。

2.3  Support

包含日志及数据分析。

2.4  System

包含API(Nexus这个API文档貌似是用swagger做的)、邮件服务器,设置调度任务等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值