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),目前笔者在使用。

详情可以参考官方

下载

下载 nexus安装包

本文采用nexus 3.x安装,后期可以用于存储docker镜像、golang代理

可以根据已有jdk环境选择对应的版本

选择jdk11对应的版本传送门: Uninx 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目录下 并解压和创建软连接

 1cd docker-compose
 2mkdir -p nexus nexus/data
 3
 4# jdk 安装包前缀路径自己需要考虑 否则提示路径找不到
 5mv jdk-11.0.23_linux-x64_bin.tar.gz nexus/data/
 6mv nexus-3.70.1-02-java11-unix.tar.gz nexus/data/
 7
 8# 解压
 9cd nexus/data
10
11# 解压jdk
12tar -xzvf  jdk-11.0.23_linux-x64_bin.tar.gz 
13
14# 解压nexus
15tar -xzvf nexus-3.70.1-02-java11-unix.tar.gz 
16
17# 创建软链接
18ln -s jdk-11.0.23 jdk
19ln -s nexus-3.70.1-02 nexus
配置 docker-compose.yaml
 1name: sonatype-oss
 2
 3services:
 4  sonatype-oss:
 5    # image: clibing/ubuntu:24.04
 6    image: hub.atomgit.com/amd64/ubuntu:23.04
 7    container_name: sonatype-oss
 8    volumes:
 9      - ./data:/data
10    environment:
11      # 注意 /data/jdk 里面的jdk是上一步创建的软连接
12      - JAVA_HOME=/data/jdk
13      # 配置最大最小内存
14      - JAVA_MAX_MEM=4096m
15      - JAVA_MIN_MEM=4096m
16      # 上下文, 建议配置为空字符串
17      - NEXUS_CONTEXT=''
18      # 仓库目录
19      - SONATYPE_WORK=/data/sonatype-work
20      # 注意 /data/nexus 里面的nexus是上一步创建的软连接
21      - NEXUS_HOME=/data/nexus
22    ports:
23      - "8081:8081"
24    # 优化↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
25    ulimits:
26      nproc: 65535  # 最大进程数
27      nofile:
28        soft: 65536 # 文件句柄数(软限制, 不能超过硬限制)
29        hard: 65536 # 系统 硬限制
30    # 优化↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
31    command: "/data/nexus/bin/nexus run"
启动
1docker-compose up -d
查看日志
1# 需要查看 日志会提示admin随机密码 默认 /data/sonatype-work/nexus3/admin.password
2tail -f data/sonatype-work/nexus3/log/nexus.log

密码所在位置

成功启动 出现监控端口

查看安装随机生成的admin密码
1cat data/sonatype-work/nexus3/admin.password

登陆

默认监控:8081 打开浏览器登录

使用密码文件登陆

修改密码

账号

添加 role

基础信息

权限

添加 用户deploy 密码: 12345

仓库

选择仓库类型

  • maven2(group): 组合多个仓库为一个地址提供服务
  • maven2(hosted): 本地私库
  • maven2(proxy): 代理其他仓库

选择 hosted 私库

创建 release发布仓库, 注意仓库类型和不允许重复发布

创建 snapshot快照仓库, 注意仓库类型和允许重复发布

任务

创建快照文件清理任务

规则: 每周日凌晨1点清理30天之前的快照,并保留1个快照文件

仓库地址

  • release: http://localhost:8081/repository/release/
  • snapshots: http://localhost:8081/repository/snapshots/