【本系列所有文章】
*详细演示均在Windows操作系统下进行
*以Nexus+Android Studio为例
一、用户界面
安装成功的话,127.0.0.1:8081会首先展示如下界面
二、访问权限模型
Nexus是基于权限做访问控制的,服务器的每一个资源都有对应的权限来控制,因此用户执行特定的操作时就必须拥有必要的权限。管理员必须以角色的方式将权限赋予Nexus用户。用户可以被赋予一个或者多个角色,角色可以包含一个或多个权限,角色还可以包含一个或者多个其他角色。
Nexus上预定义了两个用户,用admin登录后,单击页面左边的User链接,看到如下图列表:
admin:该用户拥有Nexus的全部权限,默认密码为admin123。
anonymous:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。
三、为项目分配独立的仓库
如果我们将所有项目的快照版本和发布版本构件都部署到同样的仓库,就有潜在的冲突以及安全问题。我们不想让项目A的部署影响到项目B,也不想让项目B的部署影响到项目A,那么解决方法就是为每个项目分配独立的仓库,并且只将仓库的部署、修改和删除权限赋予该项目的成员,其他用户只能拥有读取、下载和搜索该仓库内容的权限。步骤如下:
1.创建项目仓库
单击Nexus界面左边导航栏中的Repositories链接,在右边的面板中选择create repository,在下拉菜单中选择maven2(hosted)。接着在下面的面板中填写仓库的ID和名称,选择Repository Policy为Release,选择Deployment Policy为Allow Redeploy,其他的选项默认。点击Create repository按钮。
2.创建角色
有了仓库以后,nexus会自动创建基于仓库的增、删、查、改权限。点击页面导航栏中“Security”->“Role”->单击Create role按钮,添加刚才创建的仓库相关的权限。如图填写相关内容:
3.创建用户
点击导航的“Users”链接,进入用户界面,然后单击“Create user”按钮。填写相关内容。并授予用户角色信息。
四、Nexus的调度任务
在第一次配置Nexus的时候,Maven索引怎么也下载不下来,然后在网上找了一些资料才知道有调度任务这个东西的存在。后来有在《Maven实战》中看到。摘录如下:
Nexus提供了一系列可配置的调度任务来方便用户管理系统。用户可以设定这些任务运行的方式,例如每天、每周等。调度任务会在适当的时候在后台运行。
要建立一个调度任务,单击左边导航菜单中的“Tasks”,然后再右边的界面上单击Create tasks按钮,按照页面上的提示填写相关内容。
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)。
五、仓库选项说明
1.类型
o Hosted(主机):接受本地提交依赖包到仓库,一般用于公司私仓的搭建。
o Proxy(代理):可以作为其他站点依赖包的代理,一般用于加速公司项目共同使用的开源库。
o Group:混合型。
2.版本
o Releases(发布):用于正式发布的版本。
o Snapshot(快照):预发布的抢先测试版。
o Mixed:混合的。
3.部署策略
o Allow redeploy(允许重新部署)。
o Disable redeploy(关闭重新部署)。
o Read-only(只读的)。