docker部署Nexus
1.首选安装docker使用命令,拉取最新版本镜像docker pull sonatype/nexus3启动镜像,端口进行映射操作。docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 sonatype/nex...
1.首选安装docker
使用命令,拉取最新版本镜像
docker pull sonatype/nexus3
启动镜像,端口进行映射操作。
docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 sonatype/nexus3
使用 docker ps 查看是否启动成功,然后访问 http://IP:8081,会进入nexus初始化界面,默认账号密码 admin/admin123
我们使用nexus主要用于公司发布内部jar及代理公网下载,这里对nexus基础不做说明。基础信息
2.上传本地jar包到maven私服
2.1 创建一个maven仓库
点击Security>Users 创建一个用户,我这里测试创建的用户/密码是:test/test,因为后面提交本地项目jar到私服仓库会用到
然后点击,设置>Repository>Repositories>Create repository>maven2(hosted)创建maven项目,注意Deployment policy一定要设置成allow redeploy、version pollcy根据项目打包是否存在SNAPSHOT或RELEASE字符来设定
2.2 respository介绍
proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。
2.3使用idea批量提交jar到maven私服
首先设本地maven的settings.xml配置,在servers标签里添加用户密码支持,id:要和创建repository时name一致。
然后再项目的pom.xml添加远程发布的私服仓库地址
<distributionManagement>
<repository>
<id>test</id>
<name>test Repository</name>
<url>http://192.168.81.121:8081/repository/test/</url>
</repository>
</distributionManagement>
url在已经创建的好repository获取
最后利用idea进行快速上传jar包
console打印成功并在Nexus 私服上可以查看得到上传成功,如下图:
在nexus管理页面查看刚刚上传的jar包信息
公司内部使用jar发布在私服上面,到这就成功了。但是有时我们既想使用私服下载内部使用jar包,也想代理公网下载地址。
直接对maven-public进行修改,将公司内部的仓库加入到maven-public组里面
修改本地maven的settings.xml配置
这样就完成了。
引入公司内部发布的jar包
更多推荐
所有评论(0)