玖叶教程网

前端编程开发入门

企业级--Sonatype Oss(01)私服搭建

Sonatype Nexus一个著名的开发仓库管理系统,有2.x和3.x两大版本,目前以3.x为主,其中3.x支持更多的仓库,例如常用的: maven2、go、apt(ubuntu debain)、docker、npm、yum(在docker之前,可以将java的war打包成rpm文件进行安装),还有一些笔者没用过如: bower、cocoapods、gitlfs、helm、nuget、p2、pypi、r、raw、rubygems等等。如果在低内存的设备上运行并只使用maven2的仓库管理,强烈建议使用2.x

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

详情可以参考官方: https://help.sonatype.com/en/sonatype-nexus-repository-system-requirements.html

下载

  • 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 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

登陆

在浏览器中输入: http://localhost:8081

账号

添加 role

仓库

选择仓库类型

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

任务

创建快照文件清理任务

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

仓库地址

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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言