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.配置私服(setting.xml或者项目的pom.xml指定maven私服的maven-public即可)
2.发布本地项目到Nexus私服,配置连接方式
配置Maven的settings.xml
<server>
<id>release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
配置项目的pom.xml
<distributionManagement>
<repository>
<id>release</id>
<name>user release resp</name>
<url>http://xxx.xxx.xxx.xxx:8081/repository/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>user snapshots resp</name>
<url>http://xxx.xxx.xxx.xxx:8081/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>