【Nexus】Maven 私服搭建以及上传自己的Jar包
Nexus 安装
docker run -d -uroot --name nexus3 --restart=always -p 8081:8081 -v /data/nexus-data/blobs:/nexus-data/blobs -v /etc/localtime:/etc/localtime sonatype/nexus3
这里也提供一下docker-composer的方法
.env 文件
VERSION=latest
CONTAINER_NAME=CONTAINER_NAME
HOST_IP=0.0.0.0
WEB_HTTP_PORT=8081
CPUS=0
MEMORY_LIMIT=0MB
APP_PATH=/www/dk_project/dk_app/nexus/nexus_RkXe
docker-composer.yml 文件
services:
nexus_RkXe:
image: sonatype/nexus3:${VERSION}
# container_name: ${CONTAINER_NAME}
deploy:
resources:
limits:
cpus: ${CPUS}
memory: ${MEMORY_LIMIT}
restart: always
ports:
- ${HOST_IP}:${WEB_HTTP_PORT}:8081
environment:
- TZ=Asia/Shanghai
volumes:
- ${APP_PATH}/data:/nexus-data
labels:
createdBy: "bt_apps"
networks:
- baota_net
networks:
baota_net:
external: true
在目录下执行 docker-compose up -d 即可
安装完成后 进入 ip:8081 进行 访问
默认用户名 admin
密码:在第一次启动后 会在其工作目录 生成 admin.password 文件
Nexus 仓库类型
Nexus 主要有三种类型的仓库:
代理仓库(Proxy Repository)
作为远程仓库的本地缓存
当开发者请求组件时,Nexus 首先检查本地是否有缓存,如没有则从远程仓库下载并缓存
减少带宽使用,加快构建速度,提供断网情况下的依赖获取能力
宿主仓库(Hosted Repository)
用于存储组织内部开发的组件/制品
完全由本地 Nexus 服务管理
可以上传私有库、内部开发的组件或第三方不公开的组件
组仓库(Group Repository)
将多个仓库(代理和/或宿主)组合成一个逻辑仓库
简化客户端配置,客户端只需配置一个组仓库地址
提供统一的访问点,简化依赖管理
创建组仓库
创建阿里云代理仓库
登录进入页面后,如下
选择对应的仓库类型
进入后,只需要配置这两个就行,其余默认即可
第一个是 输入仓库名字,你自己命名即可
第二个是 输入仓库的链接,比如阿里的链接是:https://maven.aliyun.com/repository/public
将新建的仓库加入组仓库
将阿里云的仓库加入组仓库即可
本地配置
配置Maven settings
如图将我们的仓库配置进去即可
将自定义的Starter上传
在Maven 项目的pom.xml 文件中加入如下片段
<!--内部搭建的maven仓库 :使用分发管理将本项目打包成jar包,直接上传到指定的服务器上-->
<distributionManagement>
<!-- 正式版本-->
<repository>
<!-- nexus服务器中用户名: 在settings.xml中<Server> 的id-->
<!-- <id>jade-release</id>-->
<id>mymaven</id>
<name>mymaven</name>
<url>http://ip:prot/repository/maven-releases</url>
</repository>
<!-- 快照-->
<snapshotRepository>
<!-- <id>jade-snapshot</id>-->
<id>mymaven</id>
<name>mymaven</name>
<url>http://ip:prot/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
然后执行 maven 的 deploy 即可将自定义的jar 包上传到仓库