Nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问。
Nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过IDEA和Eclipse集成使用。
Nexus支持webDAV与LDAP安全身份认证。
Nexus提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,占用较少的内存,基于简单文件系统而非数据库。
官网地址:https://www.sonatype.com/
官网下载地址:https://www.sonatype.com/download-nexus-repo-oss
个人CSDN资源下载地址:https://download.csdn.net/download/lovelichao12/37689938
版本/收费/免费:Nexus Repository Manager 仓库管理有2个版本,专业版和oss版,oss版是免费的,专业版是收费的,我们使用oss版。
1.4.1 Windows上安装Nexus3
(1)下载后解压,如图:
(2)进入nexus-3.19.1-01-win64\bin目录,内容如下:
nexus.vmoptions为配置文件,可根据机器修改其中配置(可选 )
(3)进入nexus-3.19.1-01-win64\nexus-3.19.1-01\etc目录,内容如下:
(4)nexus-default.properties为配置文件,可根据机器修改其中配置(可选 )
默认端口是8081,可自行修改。
(5)安装服务
在bin目录下,以管理员权限打开cmd,执行命令 nexus.exe /install,不填服务名默认为 nexus
(6)启动服务
在bin目录下,以管理员权限打开cmd,执行命令 nexus.exe /run
(7)登录Nexus3
浏览器输入localhost:port(port为修改后的端口号,未修改默认8081)
(8)点击登陆,输入账号密码
账号默认为admin,密码网上说的admin123在此版本中过时,官网说明。
进入nexus-3.19.1-01-win64\sonatype-work\nexus3找到admin.password文件,使用其中的密码登录。
1.4.2 Centos7上安装Nexus3
(1)上传安装包到指定目录,然后解压,内容如下:
(2)其他操作如以上windows,修改空间大小,修改端口号等。
(3)进入bin目录,给nexus添加执行权限
chmod 777 nexus
(4)启动命令
./nexus start 启动
./nexus restart 重启
./nexus stop 停止
(5)登录nexus
登录访问如以上windows,不在重复撰写。
Blobstore是位于SPDK bdev之上的Blob管理层,支持更上层的服务,如数据库MySQL、K-V存储引擎Rocksdb以及分布式存储系统Ceph、Cassandra等。
在Blobstore下层,与SPDK bdev层对接。SPDK bdev层,是对底层不同类型设备的统一抽象管理,例如NVMe bdev、Malloc bdev、AIO bdev等。bloblstore通过bdev提供驱动接口来进行数据持久化,比如我向blob中写入数据,blob就会将数据存入绑定的bdev 设备NVMe SSD的
type 选择 File,name 起个自己定义的名字,path 添加一个自定义目录,用于存储下载的依赖包,如果不新建Blobstore,默认是存在 sonatype-work/nexus3/blobs/default 目录中。
nexus
admin
admin123
my-repository
*
my-repository
http://172.16.20.101:9200/repository/maven-public/
配置认证和仓库信息,找到mavne中 setting.xml 文件,添加如上配置即可。
创建一个一个名为:mavenimport.sh 脚本,内容如下,放入本地仓库中,如:repository目录下。
#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG"
;;
u) USERNAME="$OPTARG"
;;
p) PASSWORD="$OPTARG"
;;
esac
done
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
本地电脑需要安装客户端Git,通过Git命令执行命令
./mavenimport.sh -u admin -p admin123 -r http://172.16.20.101:9200/repository/my-repository/
当我们开发公共模块,这些公共模块需要公司其他小伙伴来使用,我们就可以将这些jar通过maven来管理,那么我们可以将公共模块打成jar上传到nexus3私服中。
修改mavne setting.xml配置文件。
releases
admin
admin123
snapshots
admin
admin123
修改pom.xml文件,配置上传私服信息。