通过docker-compose安装nexus
- 创建本地数据卷,修改权限
mkdir -p /usr/local/docker/nexus/data && chown -R 200 /usr/local/docker/nexus/data
cd /usr/local/docker/nexus
vim docker-compose.yml
- docker-compose.yml
version: '3.5'
services:
nexus:
restart: always
image: sonatype/nexus3:3.23.0
container_name: nexus
environment:
INSTALL4J_ADD_VM_PARAMS: -XX:ActiveProcessorCount=4
ports:
- 8081:8081
volumes:
- ./data:/nexus-data
- 启动容器
docker-compose up -d
- 默认账号密码
-
默认账号:admin
-
默认密码:
cat /usr/local/docker/nexus/data/admin.password
- 登录Nexus,配置向导
配置Nexus
- 创建代理仓库(分别为 aliyun-nexus、spring-milestone、spring-snapshot)
-
点击 设置按钮 -> Repository -> Repositories
-
点击 Create Repository -> 选择 maven2 (proxy) 创建 Maven 代理仓库
-
配置阿里云仓库代理(版本策略为 Release)
- Name: aliyun-nexus
- Version pollcy: Release
- Remote storate: http://maven.aliyun.com/nexus/content/groups/public/
-
配置 Spring 仓库代理(版本策略为 Release)
- Name: spring-milestone
- Version pollcy: Release
- Remote storate: https://repo.spring.io/milestone
-
配置 Spring 仓库代理(版本策略为 Snapshot)
- Name: spring-snapshot
- Version pollcy: Snapshot
- Remote storate: https://repo.spring.io/snapshot
- 配置代理仓库
选择 maven-public,修改 Group,将左边的移动到右边并修改顺序(注意先后顺序)
配置计划任务
通过 Tasks 计划任务选项定期清理旧的快照版本
- 点击 设置按钮 -> System -> Tasks
- Task name: Delete SNAPSHOT
- Repository: (All Repositories)
- Minimum snapshot count: 1
- Snapshot retention (days): 0
- Task frequency: Manual
配置Maven
- 配置服务认证
- 修改 {你的 Maven 目录}/conf/settings.xml 配置文件
- 修改 元素
- id: 唯一标识(POM 和 mirror 元素需要与之匹配)
- username: Nexus 登录账号
- password: Nexus 登录密码
<servers>
<server>
<id>nexus-public</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
2.1 配置镜像仓库(在settings.xml中),主要用于下载jar包
- 修改 元素
- id: 需要与 server 元素中的 id 匹配
- mirrorOf: 可以填入 central 或 *(所有依赖均通过私服下载)
- name: 随便
- url: 仓库地址
<mirrors>
<mirror>
<id>nexus-public</id>
<mirrorOf>*</mirrorOf>
<name>Nexus Public</name>
<url>http://192.168.219.128:8081/repository/maven-public/</url>
</mirror>
</mirrors>
2.2 配置镜像仓库(在pom.xml中),主要用于下载jar包
<repositories>
<repository>
<id>nexus-public</id>
<name>Nexus Repository</name>
<url>http://192.168.219.128:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-public</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.219.128:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
- 项目pom,xml中配置私服,主要用户上传jar包
- 私服信息,id要和setting.xml中Server.id相同
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.219.128:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.219.128:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
4. 部署依赖到私服
mvn clean deploy