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: alwaysports:- ${HOST_IP}:${WEB_HTTP_PORT}:8081environment:- TZ=Asia/Shanghaivolumes:- ${APP_PATH}/data:/nexus-datalabels:createdBy: "bt_apps"networks:- baota_netnetworks: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 包上传到仓库