1.docker启动命令
docker run -d
-p 8081:8081 --name nexus
-e TZ=Asia/Shanghai
-e JAVA_OPTS="-Xms256m -Xmx512m"
--memory=1g
-e "INSTALL4J_ADD_VM_PARAMS=-Xms256m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
-v /usr/local/nexus-data:/var/nexus-data
--restart=always
sonatype/nexus3
2. 访问
访问 http://ip:8081
Maven私服启动容器稍微比较慢,等待1分钟即可。
然后需要修改密码
2.1 初始密码查看
初始账号为admin,密码需要进入到容器中查看
命令: cat /nexus-data/admin.password
2.2 设置新密码
输入账号admin 密码: 红色框内的内容 bash-4.4前面的内容 bash-4.4是容器内的路径
然后可以设置新密码,自己记住
2.3 创建仓库
按照下图操作
点击Create repository,然后选择maven2(hosted)然后输入仓库名称(test-repository)。在version policy中选择这个仓库的版本策略,我选择的Snapshot快照版本,在Deployment policy部署策略中选择Allow redeploy(允许重新部署这个很重要),最后点创建就行了
2.3.1 仓库的版本策略说明
Release
- 版本是固定的,通常不会被修改或覆盖。
一旦发布,不会再有变化,确保了一致性和可靠性。
版本号通常没有特殊标记,例如 1.0.0、2.3.4。
使用场景: 用于生产环境的发布包,正式发布的构件。
Snapshot
- 适用于正在开发中的、不稳定的版本。
Snapshot 版本是临时的,经常会被覆盖。
版本号通常带有 -SNAPSHOT 后缀,例如 1.0.0-SNAPSHOT、2.3.4-SNAPSHOT。
可以多次发布不同的 Snapshot 版本,便于持续集成和测试。
使用场景: 用于开发和测试阶段的构件,不适用于生产环境。
Mixed
- 允许同时存储 Release 和 Snapshot 版本。
适用于需要同时管理开发中和发布后的构件的仓库。
使用场景: 适用于需要灵活管理多种版本策略的项目或团队
2.4 查看当前仓库的信息
2.5 创建操作账号
admin为管理员账号,需要建一个新的账号使用
我就建一个 账号:userTest 密码:userTest
按照图片操作
2.6 本地的maven的setting.xml文件的servers中添加以下内容
<servers>
<server>
<id>userTest</id>
<username>userTest</username>
<password>userTest</password>
</server>
</servers>
2.7 项目需提交至远程仓库的模块pom.xml文件添加以下内容
<!--注意限定版本一定为snapshot,因为上传的对应仓库的存储类型为snapshot -->
<!--指定仓库地址 -->
<distributionManagement>
<repository>
<!--此名称要和settings.xml中设置的ID一致 -->
<id>userTest</id>
<url>http://自己的仓库ip:8081/repository/test-repository/</url>
</repository>
</distributionManagement>
2.7 点击deploy就可以将代码提交到远程仓库
2.7 项目需拉取远程仓库代码的模块pom.xml文件添加以下内容
<repositories>
<repository>
<id>userTest</id>
<url>http://自己的仓库ip:8081/repository/test-repository/</url>
</repository>
</repositories>