Nexus仓库管理

Nexus—仓库管理利器
                                                ——光远,2009-7-6
1 Atifactory与Nexus的比较
手术指征使用过Maven来管理项目的人都会有这样的一种体会:Maven什么都不是,更不是一个站点或文档制作工具。Maven在项目的各个阶段中所做的事就是去某几个网站下载某个插件、执行这个插件的某个目标来完成用户指定的功能,构建和管理基于java的某个工程。因而,对Maven支持的插件了解越多,Maven的使用也将更加灵活。可是,当项目依赖越来越庞大时,你将会发现你更多的时候是在等待Maven从远程网站下载依赖的jar包。一个团队要真正用好Maven,内部Maven私服是免不了的,否则团队的目光,都会全部消耗在漫长的jar下载中。
平板艺术音响Artifactory和Nexus都是目前比较主流的私服,但是在使用过程中,二者明显有不同:
1,Artifactory是以数据库形式来组织Jar文件,因此无法通过查看目录文件的形式看到对应的jar,必须借助它本身的网页页面浏览。Nexus是按普通文件目录形式组织存放jar包,对于查
看更加简单灵活;
2,Artifactory相对Nexus而言,功能单一,仓库可管理性差。从Artifactory的页面上看,主要有查看工件、搜索工件、上传工件、用户安全管理、系统的导出与导入。而Nexus除了以上列出的功能,还提供了强大的仓库管理功能:仓库分组管理、添加管理三方库、通知订阅、路由管理、计划任务等。
3,在上传工件时,Artifactory的同步过程人工处理,费时费力,而可以通过Nexus提供的接口自动同步。
通过实际对比使用,发现Nexus的确能很方便的管理工件和仓库。
2 Nexus的安装
从 可以到关于Nexus 的信息。要下载Nexus,访问/downloads/。点击下载链接,下载适用于你平台的存档文件。Nexus 目前有ZIP 和Gzip 归档的TAR 两种可用形式。以下举例是在Linux环境下安装。
安装Nexus 很简单,打开Nexus 归档文件至一个目录。如果你正在本地工作站上安装Nexus,以测试它的运行,你可以将其安装至你的用户目录,或者随便什么你喜欢的地方;Nexus 没有任何硬编码的目录,它能在任意目录运行。如果你下载了一个ZIP 归档文件,运行:
$ unzip nexus-webapp-1.3.4-bundle.zip
如果你下载了GZip 归档的TAR 文件,运行:
$ tar xvzf nexus-webapp-1.3.
虽然对于Nexus 的运行来说这不是必要的,你可能想要设置一个环境变量NEXUS_HOME,指向Nexus 的安装目录。下面均通过${NEXUS_HOME}的形式来引用这个位置。
运行Nexus:
$ cd ${NEXUS_HOME}/nexus/nexus-webapp-1.3.4/bin/jsw/linux-x86-32
$ ./nexus start
如果没出现什么错误,可访问:localhost:8081/nexus 进入Nexus的主页面,初始账号密码:admin/admin123。
如果想修改端口号,不想使用8081端口,可进入${NEXUS_HOME}/nexus/nexus-webapp-1.3.4/conf下plexus.properties修改application-port。
登陆进去最重要的一件事情就是开启远程索引下载,索引功能方便适用。Nexus默认是关闭远程索引下载功能的,主要是担心会造成对服务器的巨大负担,需要手工开启。点击菜单下面的Repositories,分别在这三个代理仓库Apache Snapshots,Codehaus Snapshots,Maven Central下的configuration页的Download Remote Indexes修改为true,然后在这三个仓库上分别右键,选择Re-index,这样Nexus就会去下载远程的索引文件。
Nexus默认提供了三种不同的仓库:
1,代理仓库:一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus 自带了如下配置的代理仓库:
Apache Snapshots 这个仓库包含了来自于Apache 软件基金会的快照版本。/repo/m2-snapshot-repository。
爱的对象Codehaus Snapshots 这个仓库包含了来自于Codehaus 的快照版本。/。
Central Maven Repository 这是中央Maven 仓库(发布版本)。 /maven2/。
2,宿主仓库:一个宿主仓库是由Nexus 托管的仓库。Maven 自带了如下配置的宿主仓库。
3rd Party 这个宿主仓库应该用来存储在公共Maven 仓库中不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。男男
Releases 这个宿主仓库是你组织公布内部发布版本的地方。mustek
Snapshots 这个宿主仓库是你组织发布内部快照版本的地方。
3,虚拟仓库:一个虚拟仓库作为Maven 1 的适配器存在。Nexus 自带了一个central-m1虚拟仓库。
3 Nexus功能简介
肖明华3.1 仓库浏览
Nexus 包含排序好的仓库组,它们能让你通过一个单独的URL 来暴露一系列的仓库。通常情况下,一个组织会指向两个默认的Nexus 组:Public Repositories组和Public Snapshot Repositories 组。如果用户不需要知道哪些构件来自哪个特定的仓库,他们只需要能够浏览公共仓库组就可以了,但前提是这个仓库需添加在public组。这就是所谓的分散存储,统一访问。
3.2 查功能
应该在上面建立了索引的缘故,可以在搜索框中输入“Maven”进行搜索。在仓库什么都没有的情况下Nexus能迅速搜出一大堆远程的Maven工件,这就是建立索引带来的一个好处:
3.3 RSS系统信息源(消息通知)
Nexus 提供了一些捕捉系统事件的RSS 源,你可以通过点击View 菜单下的System Feeds 来浏览它们。可以使用这些简单的界面来浏览最近Nexus 中发生的关于构件部署,构件缓存,存储变化的报告。
如果在一个很大的组织工作,很多开发团队往同样一个Nexus 实例部署构件,这些信息源就非常有用。有了这样的准备,所有组织开发人员可以为新部署的构件订阅RSS 信息源,以确保当一个新的发布版提交到Nexus 后所有的人都知道。将。要访问某个特定信息源的RSS,在System Feeds 观察面板中选择一个信息源然后点击Subscribe 按钮。Nexus 会在你浏览器中载入这个RSS 信息源,然后你可以在你最喜欢的RSS阅读器中订阅这个信息源。
比较有实际意义的两个RSS源:recentlyDeployed(所有仓库中有新的部署的构件)、recentChanges(所有缓存,部署,或者删除动作)。下面是upload一个新artifact的消息通知
3.4 添加一个新的仓库
以管理员登陆Nexus,在左边导航菜单Configuration 部分中点击Repositories 链接。点击这个链接后会看到一个窗口列出了所有Nexus 所知道的仓库。之后你想要创建一个新的代理仓库。为此,点击在仓库列表正上方的Add 链接。点击单词Add 右边的朝下的箭头,会看到一个下拉菜单,带有选项:Hosted,Proxy,Virtual和Group。
1,添加一个代理仓库。有些时候你正在构建开源项目,或者往的配置中添加了自定义的第三方Maven仓库,那么就会发生因下载不到某个工件而构建失败。一种方法可以修改Maven的l文件增加一个仓库镜像,一种就是添加这个仓库为代理仓库,和Apache Snapshots仓库道理一样。添加时在configuration页配置代理的url。

本文发布于:2024-09-24 00:23:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/164612.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:仓库   下载   组织
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议