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/