Sonatype Oss后续使用 nexus 替代
环境
nexus环境要求(截止目前(3.70.1-02):
- jdk环境: 支持jdk8(支持所有版本)、jdk11(3.67.0之后的版本),jdk17(3.69.0之后的版本,不支持OrientDB)这3个版本,。
- 内存: 建议4G。
- 存储: 根据自己仓库存储类型,选择不同的存储空间,建议60G。
- 其他: 如果只使用maven2仓库,建议使用2.x(2.15.1-02),目前笔者在使用。
下载
- 3.x: https://help.sonatype.com/en/download-archives---repository-manager-3.html
- 2.x: https://help.sonatype.com/en/download-nexus-2.html
下载 nexus安装包
本文采用nexus 3.x安装,后期可以用于存储docker镜像、golang代理
可以根据已有jdk环境选择对应的版本
选择jdk11对应的版本传送门: Unix arch nexus-3.70.1-02-java11-unix.tar.gz, 对应的MD5:2eca233a9e2b075499ea47e41008e75a
百度网盘打包下载: https://pan.baidu.com/s/1FSI0tR9t7UHNmOGrBUi-Bg?pwd=, 私人: sonatype-oss安装包
下载jdk
采用Oracle JDK 11,也可以使用openjdk11都可以运行,本地采用oralce jdk, 当前版本jdk-11.0.23_linux-x64_bin.tar.gz
下载需要登录授权,传送门, 如果没有可以通过百度网盘获取
启动
下载jdk和nexus, 解压并创建软连接
打开docker-compose部署的目录
新建 nexus目录 以及nexus/data目录
将下载的nexus.x.tar.gz 和 jdk.x.tar.gz这2个安装包 拷贝到 nexus/data目录下 并解压和创建软连接
cd docker-compose
mkdir -p nexus nexus/data
# jdk 安装包前缀路径自己需要考虑 否则提示路径找不到
mv jdk-11.0.23_linux-x64_bin.tar.gz nexus/data/
mv nexus-3.70.1-02-java11-unix.tar.gz nexus/data/
# 解压
cd nexus/data
# 解压jdk
tar -xzvf jdk-11.0.23_linux-x64_bin.tar.gz
# 解压nexus
tar -xzvf nexus-3.70.1-02-java11-unix.tar.gz
# 创建软链接
ln -s jdk-11.0.23 jdk
ln -s nexus-3.70.1-02 nexus
配置 docker-compose.yaml
name: sonatype-oss
services:
sonatype-oss:
# image: clibing/ubuntu:24.04
image: hub.atomgit.com/amd64/ubuntu:23.04
container_name: sonatype-oss
volumes:
- ./data:/data
environment:
# 注意 /data/jdk 里面的jdk是上一步创建的软连接
- JAVA_HOME=/data/jdk
# 配置最大最小内存
- JAVA_MAX_MEM=4096m
- JAVA_MIN_MEM=4096m
# 上下文, 建议配置为空字符串
- NEXUS_CONTEXT=''
# 仓库目录
- SONATYPE_WORK=/data/sonatype-work
# 注意 /data/nexus 里面的nexus是上一步创建的软连接
- NEXUS_HOME=/data/nexus
ports:
- "8081:8081"
# 优化↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ulimits:
nproc: 65535 # 最大进程数
nofile:
soft: 65536 # 文件句柄数(软限制, 不能超过硬限制)
hard: 65536 # 系统 硬限制
# 优化↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
command: "/data/nexus/bin/nexus run"
启动
docker-compose up -d
查看日志
# 需要查看 日志会提示admin随机密码 默认 /data/sonatype-work/nexus3/admin.password
tail -f data/sonatype-work/nexus3/log/nexus.log
密码所在位置
成功启动 出现监控端口
查看安装随机生成的admin密码
cat data/sonatype-work/nexus3/admin.password
登陆
默认监控:8081 打开浏览器登录
使用密码文件登陆
修改密码
账号
添加 role
基础信息
权限
添加 用户deploy 密码: 12345
仓库
选择仓库类型
- maven2(group): 组合多个仓库为一个地址提供服务
- maven2(hosted): 本地私库
- maven2(proxy): 代理其他仓库
选择 hosted 私库
创建 release发布仓库, 注意仓库类型和不允许重复发布
创建 snapshot快照仓库, 注意仓库类型和允许重复发布
将新增加的仓库增加到 maven-public
任务
创建快照文件清理任务
规则: 每周日凌晨1点清理30天之前的快照,并保留1个快照文件
仓库地址
- release: http://localhost:8081/repository/release/
- snapshots: http://localhost:8081/repository/snapshots/