Nexus仓库介绍(支持maven、yum、docker私服等)
仓库分为三种:
proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里,一般用来存放公司自己的jar包;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
maven-public:maven-central、maven-release和maven-snapshot三个库的合集。
maven-release:用来存放release版本的jar包。
maven-snapshot:用来存放snapshot版本的jar包。
一、Docker搭建Nexus3(CentOS)
下载镜像
$ docker pull sonatype/nexus3:latest
创建文件目录
$ mkdir /data/nexus && chown -R 200 /data/nexus
运行镜像
$docker run --restart=always -d -p 8081:8081 --name nexus3 -v /data/nexus:/nexus-data sonatype/nexus3:latest
默认账号为admin,默认密码为admin123
如果要是新版本,比如说在nexus3中,其密码已经由默认改成随机生成,查看初始密码
$docker exec -it nexus3 bash
$cat nexus-data/admin.password
二、搭建Nexus3(Windows)
安装到服务
安装目录>nexus.exe /install nexus3
三、Nexus3配置说明
访问:http://ip:8081/ 使用管理员登陆后开始以下操作
1.创建Blob Stores
2.创建仓库
3.选择仓库类型(参考文章开头仓库类型说明)
4.配置公共出口maven-public(group)
四、使用说明
1.配置私服(setting.xml或者项目的pom.xml指定maven私服的maven-public即可)
2.发布本地项目到Nexus私服,配置连接方式
配置Maven的settings.xml
release
admin
admin123
snapshots
admin
admin123
配置项目的pom.xml
release
user release resp
http://xxx.xxx.xxx.xxx:8081/repository/releases/
snapshots
user snapshots resp
http://xxx.xxx.xxx.xxx:8081/repository/snapshots/</url>