centos搭建nexus私服

2017-07-20  本文已影响0人  Sx_Ren

1.下载

下载并解压nexus-2.13.0-01-bundle.tar.gz文件

cd /opt

mkdir nexus

cd nexus

wget  http://www.sonatype.org/downloads/nexus-2.13.0-01-bundle.tar.gz

修改默认端口号为2222(conf/nexus.properties)

2.    启动nexus

cd/opt/nexus/nexus-2.13.0-01/bin

./nexus start启动

./nexus stop停止

支持这些命令

nexus { console | start | stop | restart | status | dump }

3.运行nexus

在浏览器中输入:http://192.168.40.31:2222/nexus/

就可以看到nexus的主页,点击右上角Login

默认用户名和密码是:admin/admin123

运行后会自动生成一个nexus工作目录sonatype-work,nexus下载的jar包会存放在sonatype-work/nexus/storage中

4.配置

点击左侧菜单Repositories将右侧Central和Apache Snapshots的Download Remote Index配置改为True,并保存设置

将新增的Repository添加到Public Repositories中在Public Repositories的Configuration中,将多选Select中的项全部添加到左边,然后保存。

添加自己的jar包在repository列表中有一个3rd party,也就是第三方jar包,点击会看到一个Artifact Upload选项卡,点击后,填写相应的信息。

GAV Definition一般选择GAV Parameters

然后添加Group:Artifact:Version:Package

示例juel:juel-impl:2.2.1:jar

然后选择要上传的jar包,保存即可

5.设置开机自启动

Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下:

1、因为其中的rc.local是在完成所有初始化之后执行,因此可以把启动脚本写到里面;

2、用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入需要执行的脚本程序:

su -l $username -c "/opt/nexus/nexus-2.13.0-01/bin/nexus start"

国内文档maven中央仓库镜像:

1.http://maven.oschina.net/content/groups/public(oschina更新频率更快一些)

2.http://mirrors.ibiblio.org/maven2/

默认apacha snapshots:https://repository.apache.org/snapshots/

附录一些基础知识:

进入nexus主页以后,点击左边导航栏的Repositories,界面的主面板会显示所有所有仓库及仓库组的列表,它们的Type字段的值有group,hosted,proxy,virtual。这里先不关心virtual

,只介绍下另外三种类型:

hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库,比如公司的第二方库。

proxy,代理仓库,它们被用来代理远程的公共仓库,如 maven中央仓库。

group,仓库组,用来合并多个

hosted/proxy仓库,当项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。

由此知道,需要配置一个Maven中央仓库的proxy,其实Nexus已经内置了Maven  Central,但需要做一些配置。

点击仓库列表中的Maven  Central(有的版本是Central),注意到它的Policy是release,这说明它不会代理远程仓库的snapshot构件,英文远程仓库的snapshot版本构件不稳定且不受我们控制,

使用这样的构件含有潜在的风险。发现主面板下方有三个Tab,分别为Browse,Configuration和Mirrors,点击Configuration进行配置,你现在需要关心的是两个配置项:“Remote  Storage Location

”为远程仓库的地址,对于Maven Central来说是http://repo1.maven.org/maven2/;“Download Remote  Indexes”顾名思义是指是否下载远程索引文件,Maven  Central的该字段默认为False,这是为了防止大量Nexus

无意识的去消耗中央仓库的带宽(中央仓库有大量的构件,其索引文件也很大)。这里需要将其设置为True,然后点击Save。在Nexus下载的中央仓库索引文件之后,就可以在本地搜索中央仓库的所有构件。

有几个项目是我们可能会经常用到的:

Override local storage location: 在这个选项你可以配置Nexus本地仓库的存放地址,用来覆盖其默认的存放地址

Remote storage location: 这里是远程仓库的地址,为了提高代理速度,默认值是https://repo1.maven.org/maven2/

Download remote indexes: 这里配置是否下载远程索引文件,模式是false, 建议配置为true,这样可以通过索引文件来搜索需要的构件。

前面看到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party.

Releases: 这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如自己做了一个Web Server的项目, 生成的构件为webserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库

Snapshots: 这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给其他同事使用, 因为同事也正在依赖你的模块开发, 那么这个时候就可以发布Snapshot版本到这个仓库, 同事就可以通过简单的命令来获取和使用这个临时版本.

3rd Party: 顾名思义, 第三方库, 这里的是指可以添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如在中央仓库找不到Oracle 的JDBC驱动, 这个时候就需要自己添加到3rd party仓库.

上一篇下一篇

猜你喜欢

热点阅读