Maven篇----02 Nexus2私服管理

Nexus2 私服管理

一、Repositories 仓库管理

1.1 开启搜索功能

  1. 首先需要设置Nexus中的 Central代理仓库下载远程索引。
    Repositories -> Central 仓库,点击 Configuration -> Download Remote Indexes 项设为True , 并保存。开启下载远程索引。如图:
  1. 索引下载完毕后,在界面左边导航栏搜索框 Artifact Search 中录入关键字,即可搜索到对应的Maven构件了。

  2. Repositories -> Central 仓库选中,点击Repair Index,Update Index 可以修复和更新索引

1.2 添加宿主仓库,代理仓库,仓库组等

以添加 jboss 代理资源库为例

  1. 点击左侧 Repositories -> Add,在弹出的下拉菜单中,选择 Proxy Repository
  2. 填写信息并保存:
    Respository ID:jboss-public-repository-group (可修改)
    Respository Name:JBoss Public Maven Repository Group (可修改)
    Remote Storage Location:https://repository.jboss.org/nexus/content/groups/public-jboss/ (jboss公布的公开资源库)
    其它项保持默认

1.3 配置阿里云代理仓库

Nexus默认远程仓库响应慢,而且经常连不上。可以添加阿里云代理仓库,具体步骤如下:

  1. 点击左侧 Repositories -> Add,在弹出的下拉菜单中,选择 Proxy Repository
  2. 填写信息并保存:
    Repository ID: aliyun
    Repository Name: Aliyun Repository
    Remote Storage Location: http://maven.aliyun.com/nexus/content/groups/public/
  1. 把aliyun添加到仓库组中,记得aliyun要排在central前边。
    选中仓库组 Public Repositories,把 Aliyun Repository 从 Availiable Repositories 中拖到Ordered Group Repositories中,放在Central上边。保存
  1. 这样,就可以优先访问阿里云仓库了。

1.4. 上传第三方jar包

  1. 选择 3rd party -> Artifact Upload -> 选择GAV方式-->填好构建参数-->增加jar包-->上传,在Browse Storeage查看

二、Security 权限管理

Nexus是基于权限做访问控制的,服务器的每一个资源都有对应的权限来控制,因此用户执行特定的操作时就必须拥有必要的权限。管理员必须以角色的方式将权限赋予Nexus用户。用户可以被赋予一个或者多个角色,角色可以包含一个或多个权限,角色还可以包含一个或者多个其他角色

2.1. 为Nexus配置Releases和Snapshots的权限

小知识:release和snapshot 的差异点
Releases和Deployment Policy设置为:Disable Redeploy
Snapshot中的Deployment Policy这个选项设置为:Allow Redeploy 
-----意思是:Maven-releases 版本默认是不能覆盖的,尝试将相同版本号的jar 放入会报错。
  1. 添加权限
    在Security 下的Privileges 菜单中,点击Add按钮,添加release和snapshots权限,具体配置如下图:
  1. 建立角色
    在Security 下的Role 菜单中,点击Add按钮,添加release和snapshots角色,具体配置如下图:
  1. 和用户进行绑定
    在Security 下的Users 菜单中,选择deployment用户 添加刚刚建立的权限:

补充:预定义用户
admin:该用户拥有Nexus的全部权限,默认密码为admin123。
deployment:该用户能够访问Nexus,浏览仓库内容、搜索、上传部署构件,但是不能对Nexus进行任何配置,默认密码为deployment123。
anonymous:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。

三、Scheduled Tasks 调度任务

Nexus提供了一系列可配置的调度任务来方便用户管理系统。用户可以设定这些任务运行的方式,例如每天、每周等。调度任务会在适当的时候在后台运行。

Nexus包含了以下几种类型的调度任务:
o Download Indexs:为代理仓库下载远程索引。
o Empty Trash:清空Nexus的回收站,一些操作实际是将文件移到了回收站中。
o Evict Unused Proxied Items From Repository Caches:删除代理仓库中长期未被使用的构件缓存。
o Expire Repository Cache:Nexus为代理仓库维护了远程仓库的信息以避免不必要的网络流量,该任务清空这些信息以强制Nexus去重新获取远程仓库的信息。
o Publish Indexs:将仓库索引发布成可供m2eclipse和其他Nexus使用的格式。
o Purge Nexus Timeline:删除Nexus的时间线文件,该文件用于建立系统的RSS源。
o Rebuild Maven Metadata Files:基于仓库内容重新创建仓库元数据文件maven-metadata.xml,同时重新创建每个文件的校验和md5与sha1。
o ReIndex Repositories:为仓库编纂索引。
o Remove Snapshots From Repositories:以可配置的方式删除仓库的快照构件。
o Synchronize Shadow Repository:同步虚拟仓库的内容(服务基于Maven1)。

3.1 建立一个调度任务,

  1. 单击左边导航菜单中的“Scheduled Tasks”,然后再右边的界面上单击Add按钮,按照页面上的提示填写相关内容。比如建立一个每个月更新一次中央仓库索引的任务:

小问题

有时局域网里架构的Nexus服务器,并不能访问外网
解决办法:

  1. 开发人员的机器通常是能上网的,先修改本机settings.xml中镜像为阿里云镜像仓库;
  2. 待项目编译完成,将本机 "当前用户.m2\repository"下的文件复制到Nexus私服的sonatype-work\nexus\storage\central 目录下。
  3. 登录Nexus管理界面,手动更新索引,其他开发人员即可使用私服JAR。

Nexus参考资料:
产品主页:https://www.sonatype.com/nexus-repository-oss
下载页面:https://www.sonatype.com/download-oss-sonatype
开源地址:https://github.com/sonatype/nexus-public
官方文档:https://help.sonatype.com/display/NXRM3/
插件列表:http://exchange.sonatype.com/list
White Papers:https://www.sonatype.com/learn-white-papers

posted @ 2020-06-20 20:01  雨 燕  阅读(1703)  评论(0编辑  收藏  举报