概念
私服:私人或公司搭建起来的一个jar包管理平台
仓库类型:
proxy:代理仓库,用于代理远程公共仓库,如阿里云镜像仓库
hosted:宿主仓库,一般用来存储本地部署产生的java构件
group:聚合多个代理仓库和宿主仓库于一个组中,为这些服务提供一个统一的服务地址
版本策略:
release:发行版,存放项目中稳定版本的构建,一般是经过整体流程测试通过的项目
snapshot:快照版,存放项目中不稳定版本的构建,一般是临时发布的版本,没经过整体流程测试可能存在问题的项目
mixed:存放的是发行版、快照版的混合包
搭建nexus
选用最简便的方式,docker容器化部署
docker pull sonatype/nexus3:3.36.0
mkdir -p /usr/local/nexus/data && chown -R 200 /usr/local/nexus
docker create --restart=always --name nexus -v /data/nexus/data:/nexus-data -p 8081:8081 sonatype/nexus3:3.36.0
docker start <container-id>
- 打开浏览器 localhost:8081 访问
- 点击右上角 sign in
- 默认账户:admin 密码:cat /usr/local/nexus/data/admin.password
注意:8081 是默认端口,如果更改需要修改配置,创建仓库的步骤省略,自行研究
本地IDE推送jar包至私服
1. 配置maven/setting.xml
<servers>
<!-- 私服 填的是nexus后台登录的账号密码 -->
<server>
<id>self</id>
<username>admin</username>
<password>admin123456</password>
</server>
</servers>
<mirrors>
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
2. 配置项目pom.xml(id必须与setting.xml/services的id对应)
<!-- 配置私服仓库,用于推送 -->
<distributionManagement>
<repository>
<id>self</id>
<name>java</name>
<url>http://localhost:8081/repository/test/</url>
</repository>
</distributionManagement>
3. 点击maven deploy
本地IDE拉取私服jar包
1. 配置项目pom.xml
<!-- 要拉取的私服依赖 -->
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>java</artifactId>
<version>1.1-RELEASE</version>
</dependency>
</dependencies>
<!-- 配置私服仓库,用于拉取 -->
<repositories>
<repository>
<id>self-public</id>
<name>self-public</name>
<url>http://localhost:8081/repository/test/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>