使用nexus3.10搭建maven私有仓库

1、下载nexus3.10

官网链接:https://www.sonatype.com/download-oss-sonatype


可以选择windows版和linux版,两者区别不大,以windows为例。

2、配置启动

下载解压文件后:配置bin目录下nexus.vmoptions文件,适当调整内存参数,防止占用内存太大


etc目录下nexus-default.properties文件可配置默认端口和host及访问根目录。

linux:bin目录下执行sh nexus start启动服务,sh nexus stop停止服务

windows:bin目录,按住Shift键右键鼠标,选择“在此处打开命令窗口”,安装服务nexus.exe /install,卸载服务nexus.exe /uninstall,到计算机管理中启动nexus服务

地址栏访问nexus:localhost:8081,每次启动服务需要等待一会才可以打开

3、用户登录

默认登录是游客身份:anonymous,可以查看仓库并下载依赖,但不能配置nexus


使用默认管理员身份登录,帐号:admin,密码:admin123

登录界面:


4、Blob Stores

依赖index存储目录,默认存储在default下:\sonatype-work\nexus3\blobs\default;

也可以自己新建一个目录专门存储某个库的索引,后面创建repository时可以选择;

另外,下载或上传到nexus3.10中的jar是被加密存储在\sonatype-work\nexus3\db下

5、repository

一、nexus默认创建了几个仓库,如下,其中maven-aliyun和maven-third-party是手动添加的,三种类型


group:是一个仓库组,可包含hosted和proxy两种库,下载时按配置顺序从中依次查找

hosted:一般部署我们自己项目打包的jar,供内部人员下载

proxy:代理远程仓库,maven-central是默认maven中央仓库代理,maven-aliyun是后加的阿里远程库代理,通过代理从远程库中下载的依赖都会被缓存到nexus的proxy库中

二、使用时,将maven-aliyun和maven-third-party添加到maven-public中,常用的库靠前,如下


三、alimaven代理库配置:配置Proxy的Remote storage为阿里的远程库地址


四、创建hosted和proxy库是需要指定Version policy:


release:专用于部署发布版本的jar

snapshot:专用于部署快照版本的jar,jar都是以-SNAPSHOT结尾,pom中version需以-SNAPSHOT(必须大写)结尾

mixed:可包含release和snapshot版本

五、创建hosted类型仓库时,需要将Deployment policy设为Allow redeploy,否则无法部署jar


六、这样settings.xml文件直接使用配置好的maven-public仓库组获取依赖即可,最后附上settings文件

6、Privileges

数据权限:repository权限有两种类型,repository admin和repository view,每种类型又有6种权限标识,分别是:*,add,browse、delete、edit、read,*包含其它5种权限,也可以自定义操作标识,正常系统的生成权限足够使用

7、Roles

用户角色,新建一个角色,指定该角色可对哪些库进行哪些操作,如下


注意:如果想访问一个group库中配置的所有库,则需要为该角色添加group中所有库的访问权限

8、Users

因为默认的anonymous游客用户只能查看无法部署jar,而admin是管理员身份主要用于配置nexus,所以新建一个可以部署查看jar但不能配置nexus的用户,只需要将该创建的role赋给user,如下


9、anonymous

普通未登录用户,都是游客用户,正常如果想要下载依赖,需要勾上Allow access,如下


当然,为了安全性需要控制外界游客用户对私库的访问,如下


然后,需要在settings文件中设置proxies代理访问即可屏蔽游客访问,只开放内部人员访问

10、Tasks

定时任务Tasks,新建一个Maven - Delete unused SNAPSHOT类型定时任务,定期清理过期不使用快照版依赖


定时任务官网介绍:https://blog.sonatype.com/2009/09/nexus-scheduled-tasks/

11、settings文件

repository使用nexus配置group组下载依赖,当私库服务器连接不上时,还可以从mirror中查找依赖,proxies可通过nginx配置


12、pom文件

pom最后添加如下配置,注意repository的id需要和settings中server的id一致,也就是以server指定的用户登录进行上传部署,普通游客没有权限部署,部署命令:mvn clean deploy


©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页