`
langzhiwang888
  • 浏览: 177256 次
  • 性别: 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 安全技术

    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

    Maven权威指南 很精典的学习教程,比ANT更好用

    简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. ...

Global site tag (gtag.js) - Google Analytics