一. 联系目标
- 搭建maven私服(虚拟机内存最好超过2g, 不然会卡)
- 与私服交互(jar包上传和拉取)
二. 搭建步骤
- Linux系统中安装docker和docker-compose
- 查看官方nexus镜像, 确认镜像名称和版本
- 创建docker-compose.yml文件(官方文档:https://hub.docker.com/r/sonatype/nexus3)
version: '3'
services:
nexus:
image: 'sonatype/nexus3'
restart: always
container_name: nexus
ports:
- '8081:8081'
volumes:
- /usr/local/docker/nexus/data:/nexus-data
注意: volumes中的/usr/local/docker/nexus/data,
data
文件夹要添加写权限, 要不然启动容器会报错
- 使用docker-compose启动容器
命令:
docker-compose up -d
- 访问nexus
宿主机IP:8081
- 登录nexus
参考文档:
用户名:
admin
密码: 在data目录下的admin.password
文件里
三. nexus基本操作
1. 修改密码
2. 实现maven自动化部署
2.1 修改maven的setting文件
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>12345678</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>12345678</password>
</server>
2.2 修改项目pom文件, 添加distributionManagement节点配置
<!--自动化部署配置-->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.153.129:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.153.129:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
url地址获取:
2.3 使用mvn deploy -Dmaven.test.skip=true命令, 或者idea工具发布项目
3. 上传第三方jar包到nexus(前两步可以省略)
3.1 新建仓库: maven-3rd
3.2 创建maven-3rd仓库在public的映射关系
3.3 上传第三方jar包到maven-3rd仓库(填写好GAV信息)
注意: 这一步也可以使用maven的上传jar包命令来完成.
3.4 本地拉取jar包
pom文件中增加如下配置
<!--添加依赖-->
... ...
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-vod-upload</artifactId>
<version>1.4.3</version>
</dependency>
... ...
<!--maven私服配置-->
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://192.168.153.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.153.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>