部署nexus服务
Nexus服务器是一个代码包管理的服务器,可以理解 Nexus 服务器是一个巨大的 Library 仓库。Nexus 可以支持管理的工具包括 Maven , npm 等,对于 JAVA 开发来说,只要用到 Maven 管理就可以了。Nexus服务器作用:因为传统的中央仓库在国外,其地理位置比较远,下载速度比较缓慢。因此,当公司开发人员数量越来越多时,如果不架设一台自己的Nexus服务器,会产生大量的流量阻塞带宽,并且在出现一些不可抗原因(光缆被挖断)导致无法连接到中央仓库时,开发就会因为无法下载相关依赖包而进度停滞。因此在本地环境部署一台私有的Nexus服务器来缓存所有依赖包,并且将公司内部开发的私有包也部署上去,方便其他开发人员下载,是非常有必要的。因为 Nexus 有权限控制,因此外部人员是无法得到公司内部开发的项目包的。docker拉取nexus,harbar创建sonahype项目,上传镜像到harbor,在node02上启动nexus
docker pull sonatype/nexus3:latest
docker tag sonatype/nexus3:latest 172.16.80.140/sonatype/nexus3:latest
docker push 172.16.80.140/sonatype/nexus3:latest
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 -v /etc/localtime:/etc/localtime --name nexus3 172.16.80.140/sonatype/nexus3
浏览器登录
初始账户是admin,密码在docker的/nexus-data/admin.password里
可通过下面这两种方法获取
修改密码,改成123456(好记)
选哪个看需求吧
耐心等待,大功告成!
至于怎么用,就是开发的问题了
以下是开发配置
# 第一步:
# 1、在 pom.xml 文件中声明发布的宿主仓库和 release 版本发布的仓库。
<!-- 发布构件到Nexus --><distributionManagement><repository><id>releases</id><name>nexus-releases</name><url>http://172.16.80.133:8081/repository/maven-releases/</url></repository><snapshotRepository><id>snapshots</id><name>nexus-snapshots</name><url>http://172.16.80.133:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
# 第二步:在 settings.xml 文件中配置
# 由于用 Maven 分发构件到远程仓库需要认证,须要在~/.m2/settings.xml或者中加入验证信息:
<servers> <server> <id>public</id> <username>admin</username> <password>123456</password> </server> <server> <id>releases</id> <username>admin</username> <password>123456</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>123456</password> </server> </servers>
# 注意: settings.xml 中 server 元素下 id 的值必须与 POM 中 repository 或 snapshotRepository 下 id 的值完全一致 。