`
langzhiwang888
  • 浏览: 178079 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Nexus简介

 
阅读更多

 Nexus简介

Nexus是Sonatype推出的强大Maven仓库管理器产品,要比以前TSS上介绍的Artifactory要好使用的多,也是一个拆箱即用的Java App,内嵌Jetty容器和Java Wrapper做Windows服务,安装简单到解压然后双击install即可。更详细的帮助手册请上官方网站查看,这里推荐一个翻译中的书籍——《Maven权威指南》(在线阅读英文版中文版),一本全面介绍Maven的书,其中也有介绍Nexus的章节,猛击这。Nexus的优点这里得啰嗦一下(摘抄自Maven中文Blog):

  • 代理远程仓库。配置Nexus代理中央仓库,其它任何公开的Maven仓库,将你组织内部的Maven配置指向Nexus,这样所有构件都将从Nexus下载,如果Nexus没有你要的构件,它会自动先去外部仓库下载到本地,仅一次。
  • 本地宿主仓库。Nexus可以在服务器上建立本地的宿主仓库,你可以往这个仓库里提交任意的Maven规范构件,包括不能从公开仓库下载到的构件,或者你组织内部产生的构件。
  • 仓库组。有了仓库组,你就能将很多仓库聚合起来,对外公开一个统一的接口提供构件服务。
  • 构件搜索。Nexus能下载远程的仓库索引,并在本地构件自己的仓库索引,有了该索引,你就能很快速方便的搜索任何你感兴趣的构件。
  • 事情RSS源。Nexus服务器上发生的几乎任何事情,你都能用RSS监视,方便管理。
  • Release和Snapshots区分。配置Nexus提供Release构件服务或者Snapshots服务,能更清晰的管理构件。
  • 路由。Nexus的路由能够管理为特定的请求提供特定的仓库。加入你在一个组中配置了很多仓库,一条路由能够极大提高某些特定请求的响应速度。
  • 上传构件。使用Nexus你能很方便的在web界面上上传一些特殊的构件至仓库。
  • 高用户体验的UI。使用AJAX和REST技术开发的Nexus,在界面上为提供了很舒适的用户体验。

    初始化

默认安装后的访问路径为http://localhost:8081/nexus/, 管理员登录为admin/admin123,UI是用Ext搭建的,熟悉Ext的人根本没有操作障碍,登录后最重要的事情就是打开远程索引下载,操作为选 择菜单Administrator->Repositories,然后在右边打开的列表中依次选择type字段为proxy的记录,在下方的编辑区 中修改"Download Remote Indexes"值为true,再从这三个仓库上点右键选择"Re-Index",这一步别忘,我当时搭建的时候就忘了Re-Index,结果等了一天还 没任何索引文件。Re-Index后,Nexus会从后台去官方地址下载仓库索引文件,大概20M大小,根据网速快慢下载相应时间后选择仓库时会以树形目 录的方式显示仓库内容。

nexus

角色权限

Nexus的操作权限完全仿照RBAC角色权限模型,默认三个用户:admin、anonymous、deployment,对应的是管理用户、匿 名访问用户和部署用户,管理用户用于仓库管理和系统配置,匿名用户用于仓库查询和仓库下载,部署用户用于私人jar包的上传。在这里,我对 deployment的默认角色Nexus Deployment Role做了自定义修改,加入了"All M2 Repositories"的create和update权限,并且加入了"UI:Base UI Privaties"权限,用意稍后解释。

Nexus的使用

  1. 从浏览器里打开访问地址后,通过"Artifact Search"菜单可以进行构件搜索。
  2. 对于一些特殊的构件,比如sqlserver2005的jdbc驱动,你可以通过管理员登录然后从第三方上传构件
  3. 提供仓库组的概念,对于远程代理仓库和本地宿主仓库,还有第三方仓库,全部创建为一个public-group,然后通过访问组就可以访问所有的仓库构件了,这就是所谓的分散存储,统一访问
  4. 和Maven结合也很简单,首先是要配置Maven,打开$user$/.m2/下的settings.xml(没有的话创建一个),然后拷贝以下内容到文件中:settings.xml

 

<settings>
  <proxies>
    <proxy>
      <id>normal</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>deployment</username>
      <password>deploy</password>
      <host>localhost:8081/nexus</host>
      <port>80</port>
      <nonProxyHosts>localhost:8081/nexus</nonProxyHosts>
    </proxy>
  </proxies>

  <mirrors>
    <mirror>
      <!--This is used to direct the public snapshots repo in the 
          profile below over to a different nexus group -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf>
      <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
    </mirror>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  
  <profiles>
    <profile>
      <id>development</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <!--this profile will allow snapshots to be searched when activated-->
      <id>public-snapshots</id>
      <repositories>
        <repository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>development</activeProfile>
  </activeProfiles>
</settings>

 

然后,在从你的工程里的pom.xml中加入以下内容:

 

<distributionManagement>
	<repository>
		<id>repo</id>
		<name>public</name>
		<url>http://localhost:8081/nexus/content/repositories/releases</url>
	</repository>
	<snapshotRepository>
		<id>Snapshots</id>
		<name>Snapshots</name>
		<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
	</snapshotRepository>
</distributionManagement>
  1. 解释一下:
    settings.xml中的proxies/proxy节点配置的是部署服务器访问属性,deployment/deploy对应的是部署用户名和密 码;mirrors/mirror配置的是maven访问仓库的地址,这里使用的是Nexus提供的群组概念,将多个仓库组成一个public- group的方式进行访问;profiles/profile则主要用来描述仓库部署的访问配置。

和apache结合

和apache结合挂域名访问也很简单,官方网站上有介绍,我这里给出一种最简单的方式:

  1. 启用mod_proxy.so、mod_proxy_ajp.so、mod_proxy_connect.so三个module
  2. 配置一下数据:
ProxyRequests Off 
ProxyPreserveHost On

    3. 虚拟主机的配置类似下面

 

    ServerName repo.duduwolf.com
    ServerAdmin duduwolf@duduwolf.com
    ProxyPass / http://localhost:8081/nexus
    ProxyPassReverse / http://localhost:8081/nexus
    ErrorLog logs/nexus-error.log
    CustomLog logs/nexus-access.log common
分享到:
评论

相关推荐

    官网下载的professional版:nexus-professional-2.15.1-02-bundle

    1.Nexus 简介 Nexus是Maven仓库管理器,也可以叫Maven的私服。Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所...

    Cisco Nexus 1000V虚拟交换机产品简介

    Cisco Nexus 1000V在VMware ESX管理程序中运行,支持Cisco VN-Link服务器虚拟化技术。Cisco Nexus 1000V是与VMware密切合作的结晶,它与VMware虚拟基础设施完全集成,其中包括VMware Virtual Center、VMware SX和...

    CCIE-DC Nexus专题视频.zip

    目录网盘文件永久链接 1-Nexus产品介绍 2-Nexus基本系统管理 ...10-Nexus FabricPath简介 11-Nexus FabricPath实验 11-Nexus FabricPath设计 12-Nexus OTV实验 12-Nexus OTV技术 13-Nexus 安全技术

    Nexus安装和配置手册.doc

    Nexus安装和配置手册的简介部分对Nexus的概述、适用范围与预期读者、参考资料和术语进行了详细的介绍。其中,概述部分对Nexus的功能和特点进行了详细的解释,包括如何帮助开发者和项目经理更好地管理项目中的软件...

    Cisco Nexus 7000系列48端口10/100/1000以太网模块简介

    Cisco:registered: Nexus 7000系列48端口10/100/1000以太网模块是一种高度可扩展的模块,是为提高关键任务以太网网络性能而设计的。Cisco Nexus 7000系列48端口10/100/1000以太网模块到交换矩阵的带宽为40Gb,是一款...

    Cisco Nexus 7000系列32端口10Gb以太网模块及80Gb阵列简介

    Cisco Nexus 7000系列32端口10Gb以太网模块是一种高度可扩展的高密度模块,是为提高关键任务以太网网络性能而设计的。它的设计旨在满足大多数关键任务数据中心的要求,提供持续的系统运营和无所不在的虚拟化服务。...

    Cisco Nexus 7000系列10插槽机箱简介

    Cisco:registered: Nexus 7000系列交换机最大限度地集成了可扩展性和运营灵活性。它是一个模块化数据中心级产品系列,适用于高度可扩展的万兆以太网网络,其交换矩阵架构的速度能扩展至15Tbps以上。作为第一款下一代...

    Cisco Nexus 7000系列控制引擎模块简介

    Cisco Nexus 7000系列控制引擎模块的设计目的是为Cisco Nexus 7000系列机箱提供可扩展的控制平面和管理功能。它采用了一个双核处理器,通过双核的灵活性和强大功能来扩展控制平面。一个全冗余系统由两个控制引擎构成...

    this is nexus

    NEXUS搭建简介.pdf

    6.1 Nexus3搭建Maven私服1

    1.1简介Nexus 是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用 Nexus 你可以只在一个地方就能够完全控制

    Docker Jenkins Git Maven Nexus3持续集成部署

    Docker私服Nexus3的搭建,怎么样利用私服推拉镜像,管理镜像。 什么是持续集成、什么是容器化集成和部署、怎么样安装Jenkins、规避哪些坑、什么是Blue Ocean 什么是流水线技术、什么是Jenkins Piepeline流水线技术、...

    openshift-nexus-svn

    openshift-nexus-svn 在 openshift-nexus-svn 应用程序中设置 Maven 发布Spring MyIbatis 简介:12/22/2014 Heroku 上托管的 MYSQL 数据库的连接参数: 数据库:herokungjavamq 用户:adminhejXHcU 密码:Algd1-u9Aq...

    vcf2phylip:将VCF格式的SNP转换为PHYLIP,NEXUS,二进制NEXUS或FASTA比对以进行系统发育分析

    简介 该脚本以VCF文件作为输入,并将使用SNP基因型创建PHYLIP(松弛版本),FASTA,NEXUS或二进制NEXUS格式的系统发育分析矩阵。 对于杂合SNP,已达成共识,并将IUPAC核苷酸歧义码写入最终矩阵(ces),允许任何倍性...

    截屏 Device Frame Generator

    应用简介 Device Frame Generator是一款截屏辅助工具,可以将你的截屏添加上设备外框,支持的型号有: * Nexus S : 480*800 * Galaxy Nexus : 720*1280 * Nexus 4 : 768*1280 * Nexus 5 : 1080*1920 * Nexus 7 : ...

    截图-Perfect Screenshot v_R6

    应用简介 Perfect Screenshot是一款可以对你的截图添加上设备外框的应用,实现正反两面的效果,支持设备有: Galaxy S4 Galaxy S5 HTC One (M7) HTC One (M8) LG G2 LG G3 Moto G Moto X Nexus 4 Nexus 5 Nexus 7 ...

    1.1.maven简介.mp4

    1.1.maven简介 1.2.maven的作用 1.3.maven的安装 2.项目案例 2.1.构建项目 2.2.项目拆分 3.聚合和继承 3.1.聚合 3.2.继承 4.maven高级特性 4.1.属性配置 4.2.版本管理 4.3.资源管理 5.私服 5.1.nexus安装 5.2.仓库的...

    [Timeline Sec] - CVE-2020-29436:Nexus3 XML外部实体注入复现1

    声明:请勿用作违法用途,否则后果自负0x01 简介Repository Manager)服务。0x02 漏洞概述编号:CVE-2020-29436/servic

    BattleGrid:适用于 Nexus 7 的简单联网战斗网格。使用 Android Studio 1.2.1.1 构建

    这是俄勒冈州立大学 (OSU) 2015 年Spring学期 CS 372 - 计算机网络简介的学生项目。 我们正在创建一个简单的战斗网格,它由一个 5x9 网格和作为标记的彩色圆圈组成。 战斗网格将能够连接到应用程序的其他副本,并且...

    Maven3实战视频教程(14集)

    课程目录: Maven3_01_maven概览 Maven3_02_maven安装的注意事项 ...Maven3_10_生命周期和插件简介 Maven3_11_插件基础 Maven3_12_插件的应用 Maven3_13_测试 Maven3_14_发布web项目 Maven3实战笔记 Maven配置

    思科数据中心及虚拟化简介

    cisco新一代数据中心的IT基础架构,cisco nexus和统一计算系统UCS

Global site tag (gtag.js) - Google Analytics