企業級--Sonatype Oss(01)私服搭建

clibing發表於2024-07-12

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/

相關文章