第0章:简介
1.仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。
2.通过为所有的来自中央Maven仓库的构件安装一个本地的缓存,你将加速组织内部的所有构建。
3.仓库管理器为组织提供了一种控制Maven下载的机制。你可以详细的设置从公开仓库包含或排除特定的构件。
5.特征:提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
6.nexus思维导图:
第1章:安装nexus
1.参考博客
http://www.blogjava.net/xiaomage234/archive/2012/11/22/391770.html
http://wenku.baidu.com/view/b94acae29b89680203d825dd.html
2.安装步骤
1.下载地址:http://www.sonatype.org/nexus/go
2.解压:$ unzip nexus-1.0.0-beta-3-bundle.zip或$ tar xvzf nexus-1.0.0-beta-3-bundle.tgz,nexus是一种绿色软件
3.进入nexus-2.6.3-01/bin/jsw/找到对应操作系统的支持脚本,如window64位为/windows-x86-64/start-nexus.bat,直接运行启动服务。
4.访问http://localhost:8081/nexus,可能首先进入注册页面,填写注册信息,通过邮件形式获取序列号,完成注册后,进入如下页面:
5.安装完毕。
3.配置步骤
1.在Nexus主页面中,鼠标单击页面右上角的Log In图标,显示登录页面,用户名:admin,密码:admin123,登录管理台
2.创建rcms仓库。点击左侧导航栏中的Repositories链接,在右侧面板中选择“Add”,弹出下拉菜单,在下拉菜单中选择HostRepository,显示仓库的配置如图信息:
同样,创建宿主仓库rcms_snapshots,配置如下图:
3.配置central仓库。点击“Central”,选择上图中“Configuration”,将“DownloadRemote Indexes”选项改为“True”,如下图:
完成代理设置。如果可以访问外网,可不用设置代理,可跳过。
4.修改public仓库组。点击PublicRepositories,选择“Configuration”,在仓库组中添加项目需要的仓库资源,3rd party为第三方类库、Central为代理仓库、rcms_realease以及rcms_snapshots为项目仓库。如下图:
4.创建权限,角色和用户
1.创建仓库权限。点击页面左侧导航栏中“Security”,点击“Privileges”,点击上Add->RepositoryTarget Privilege,配置rcms_release的权限:
同样的办法完成对于rcms_snapshots的权限创建
2.创建角色。左侧导航栏中选择“Security”,点击“Roles”,选择Add->NexusRole,填入如下信息:
3.创建用户。点击页面左侧导航栏中“Security”,点击“Users”,点击Add->NexusUser,配置如下图:
第2章:部署构件到nexus
1.配置setting.xml
1.为了普通开发人员可以下载nexus仓库中的资源,需要在maven的setting.xml配置文件中的配置,配置在<mirrors>与</mirrors>之间,如下:
<mirror> <id>public</id> <mirrorOf>*</mirrorOf> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </mirror> |
2.如果是版本发布人员,除了需要进行上面开发人员的配置外,还需要在setting.xml文件的<servers>与</servers>之间配置如下用户信息,用户名和密码是nexus的登录权限:
<server> <id>rcms_release</id> <username>admin</username> <password>admin123</password> </server> <server> <id>rcms_snapshots</id> <username>admin</username> <password>admin123</password> </server> |
2.部署发布版构件
1.在项目POM.xml文件中配置发布版本仓库信息如下:
<!-- 设定除中央仓库(repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查找. --> <repositories> <!-- 本地仓库 --> <repository> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public</url> <releases> <checksumPolicy>fail</checksumPolicy> </releases> <snapshots> <checksumPolicy>fail</checksumPolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> <!-- 设定团队持续集成发布包服务器 --> <distributionManagement> <repository> <id>rcms_release</id> <name>rcms_release</name> <url>http://localhost:8081/nexus/content/repositories/rcms_release/</url> </repository> </distributionManagement> |
2.发布发布版本前需要取保项目的坐标中的版本号格式,发布版对应的版本号坐标应该不带SNAPSHOT,否则发布不成功。
<version>1.0.0-</version> |
3.在项目POM.xml所在文件夹目录中执行mvn deploy命令,即可将构件发布版发布到nexus仓库中。
3.部署快照版构件
1.在项目POM.xml文件中配置发布版本仓库信息如下:
<!-- 设定除中央仓库(repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查找. --> <repositories> <!-- 本地仓库 --> <repository> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public</url> <releases> <checksumPolicy>fail</checksumPolicy> </releases> <snapshots> <checksumPolicy>fail</checksumPolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> <!-- 设定团队持续集成发布包服务器 --> <distributionManagement> <snapshotRepository> <id>rcms_snapshots</id> <name>rcms_snapshots</name> <url>http://localhost:8081/nexus/content/repositories/rcms_snapshots/</url> <uniqueVersion>false</uniqueVersion> </snapshotRepository> </distributionManagement> |
2.发布发布版本前需要取保项目的坐标中的版本号格式,发布版对应的版本号坐标必须带SNAPSHOT,否则发布不成功。
<version>1.0.0-SNAPSHOT</version> |
3.在项目POM.xml所在文件夹目录中执行mvn deploy命令,即可将构件快照版发布到nexus仓库中。
4.部署第三方构件
1.在Nexus的管理页面中,点击左侧导航栏“Repositories”,选择“3rdparty”,点击“Artifact Upload”,配置如下:
2.点击“Select Artifacet(s) to Upload”,选择需要上传构件,如下图:
3.点击“Add Artifact”,然后点击“Upload Artifact”,完成发布。