Nexus 私服搭建及测试

Nexus 学习

1. 安装及启动

  • 下载地址
  • 启动

    ./nexus start
  • 配置文件

    nexus 有两个目录

    • nexus-3.21.1-01 安装
    • sonatype-work 数据文件

具体每个目录下的各个配置文件的作用,请参考官方文档说明

在 nexus.vmoptions 文件中修改本地启动的JVM参数,在 nexus-default.properties 文件中修改端口号,默认端口8081。

2. 仓库

在这里插入图片描述

2.1 仓库类型

仓库类型 解释
proxy 代理远程中央 maven仓库,当项目构建访问中央库的时候,先通过代理去远程中央仓库下载依赖包到nexus 仓库,然后再从nexus 仓库下载到本地。私服我们部署在内网服务器,只要其中一个人从远程中央库下来了,以后相同的依赖包就都是从nexus 私服上进行下载,加快下载速度,不怕远程中央仓库出现问题
hosted 本地仓库,用于存放内部发布的的项目,和外部没有连接关系,是由公司内部用户发布上来的项目
group 仓库组,用来合并多个hosted/proxy仓库,当项目需要引用多个repository资源时,只需要将这些资源放到一个group中,引用这一个group即可

2.2 新建仓库

在这里插入图片描述
版本策略:

  • Release 发行版,上线的时候时候,同一个版本的发布版本只允许deploy一次。
  • Snapshot 快照版,开发阶段使用,可以重复deploy,maven更新的时候可以强制拉取到最新的

部署策略:

  • Read-only: 只读,不允许部署
  • Disable redeploy:只能部署一次,之后任何再次部署的尝试都将导致错误
  • All redeploy:可以部署到此仓库,并在后续部署中覆盖相同的jar

3. 权限

主要是这三个方面:

在这里插入图片描述

3.1 Privileges

  • 类型:一般经常用的是 Repository admin 和 Repository view, admin一般是管理人员拥有,对整个仓库的管理和配置,view是普通开发人员,负责对仓库中的内容管理
  • 动作:add,browse,delete,edit,read 和 *,一般不赋给普通开发人员delete权限。

3.2 Roles

nexus 默认只有两种角色:nx-anonymous 和 nx-admin,前者只有浏览的权限,后者为管理员权限,所以我们需要为开发人员创建个角色,并且只添加自定义仓库的使用权限,删除操作除外。

新建develop角色:
在这里插入图片描述

3.3 Users

跟Roles类似,默认的用户只有两种:admin 和 anonymous,同样需要创建属于开发者的用户对象。点击 Create local user,填入用户名,密码等必填信息之后,关联上步的创建的角色。

新建develop用户,关联刚创建的develop角色
在这里插入图片描述

4. 本地settings.xml 配置

  • 配置 server

    仓库的下载和部署一般是在项目的pom.xml文件中配置,仓库的权限认证需要在这里配置

    
     
      einherjar-release
      develop
      123456
    
  • 配置 mirror

    配置私服的镜像,当项目构建访问中央库的时候,先通过代理去远程中央仓库下载依赖包到Nexus 仓库,然后再从Nexus仓库下载到本地

        
        einherjar-public  
        
        central  
        local nexus
          
    
  • 配置 profile

    注意: 一般不在setting.xml中配置,在项目的pom中配置, 这样的话,新的开发人员不需要再更改自己的setting.xml 就可以从远程仓库下载jar包。

    
        
            
            test
            
            
            
            
        
    
    
        test
    

5. 项目 pom.xml 文件配置

  • 用来从指定的私服仓库下载内部jar包

    
        
            einherjar-snapshot
            
        
        
            einherjar-release
            
            
                false
            
        
    
  • 将本地项目jar包部署到私服

    
        
            einherjar-release
            LocalReleaseRepository
            
        
        
            einherjar-snapshot
            LocalSnapshotRepository
            
        
    
    

6. 测试

  • 本地 settings.xml 文件配置

    在这里插入图片描述

  • 新建两个工程,hello-world 和 nexus-tour

    hello-world pom 文件配置

在这里插入图片描述

可以看到已经成功部署到私服了
在这里插入图片描述

你可能感兴趣的:(maven,nexus,java)