前提准备
- 安装docker
- 安装docker-compose
docker安装nexus
安装参考
安装步骤
安装
创建文件夹 赋权限
chown -R 200 /docker/nexus
docker run -d -p 10120:8081 --name nexus3 \
--restart=always \
-v /docker/nexus/nexus-data:/nexus-data \
-v /docker/nexus/nexus-logs:/nexus-logs \
sonatype/nexus3
默认密码 admin/admin123
报错
mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
初始密码
创建仓库
阿里云地址 http://maven.aliyun.com/nexus/content/groups/public
创建托管仓库Hosted Repository
Hosted设置:
- Allow redeploy:允许同一个版本号下重复提交代码,Nexus以时间区分
- Disable redeploy:不允许同一个版本号下重复提交代码
- Read-only:不允许提交任何版本
原生的maven-releases库是Disable redeploy设置,maven-snapshots是Allow redeploy
创建组仓库Group Repository
将hosted repositories宿主仓库的顺序放在proxy repositories代理仓库之前,因为一个group仓库组中可以包括宿主仓库和代理仓库。而整个group repository是作为一个public repository给用户使用的
所以当查找jar包的时候,如果代理资源库在前面,那就是先从远程去查找jar包,而不是先从宿主仓库(本地仓库)去查找jar包
创建快照仓库Snapshot Repository
上传jar跟pom
上传 pom 或者 jar文件
Maven设置
修改Maven的setting.xml文件
<!--nexus服务器,id为组仓库name-->
<servers> <server> <id>voice_group</id> <username>admin</username> <password>***</password> </server> <server> <id>voice_hosted</id> <username>admin</username> <password>***</password> </server>
</servers><!--仓库组的url地址,id和name可以写组仓库name,mirrorOf的值设置为central-->
<mirrors> <mirror> <id>voice_group</id> <name>voice_group</name> <url>http://******:8081/repository/voice_group/</url> <mirrorOf>central</mirrorOf> </mirror>
</mirrors>
pom 文件
<distributionManagement><repository><!--release版本仓库--><id>nexus-releases</id> <name>Nexus Release Repository</name><url>http://ip:8081/repository/whitrue_hosted/</url></repository><snapshotRepository><!--snapshot版本仓库--><id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name><url>http://ip:8081/repository/whitrue_snapshots/</url></snapshotRepository>
</distributionManagement><repositories><repository><!--支持下载snapshot版本jar包--><id>whitrue_group</id><url>http://ip:8081/repository/whitrue_group/</url><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>