nexus升级与迁移

参考:Nexus3 容器部署3.70.x升级实践-非成功案例 | Solitudes

官网:Upgrading to Nexus Repository 3.71.0 and Beyond

迁移工具下载地址:Nexus Repository 3.70.x Downloads with OrientDB

​ 场景:从宿主机部署的nexus较低版本比如3.16升级到docker部署的最新版例如3.85。

​ 方案:

  1. nexus3.16升级为3.70.4。
  2. nexus3.70.4导出备份
  3. nexus迁移工具导出新的数据库文件
  4. nexus编辑配置文件
  5. 部署nexus3.85.0

nexus3.16升级为3.70.4

​ 不管是宿主机还是容器部署,都只需要nexus-data目录中的数据。目录结构类似:

image-20251017151959029

​ 将数据目录转移到新的机器或者路径后进行部署新的nexus容器。

1
2
3
4
5
6
7
8
9
sudo chown -R 200:200 /data/soft/nexus

docker run -d \
--name nexus \
-p 8081:8081 \
-p 5000:5000 \
-v /data/soft/nexus:/nexus-data \
-e TZ=Asia/Shanghai \
sonatype/nexus3:3.70.4

nexus3.70.4更换root密码

​ 直接挂载数据目录如果忘记密码则需要修改root密码。

​ 思路为删除nexus-daba/db/security之后重启即可。

image-20251017153145194

image-20251017153331866

nexus3.70.4导出备份

登录admin后进行到处备份。

  • 设置-系统-任务-创建任务

img

  • 搜索 Backup,选择它

img

  • 创建一下手动触发的任务,备份路径 /nexus-data/backup 就行

img

  • 创建完任务后,点击 backup 任务运行

img

  • 触发备份

img

  • 等待备份完成

img

image-20251017153704812

nexus迁移工具导出新的数据库文件

​ 将迁移工具 nexus-db-migrator-3.70.4-02.jar复制到/data/soft/nexus/backup,然后执行:

1
2
java -Xmx4G -Xms4G -XX:+UseG1GC -XX:MaxDirectMemorySize=28672M -jar nexus-db-migrator-3.70.4-02.jar --migration_type=h2 --force=true

image-20251017154251458

nexus编辑配置

​ 将刚刚的目录下的nexus.mv.db复制到/data/soft/nexus/db/

​ 编辑 /data/soft/nexus/nexus.properties

1
vim /data/soft/nexus/nexus.properties

增加最后一条

1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@nat3:/data/k8s/local/nexus3/etc# cat nexus.properties
# Jetty section
# application-port=8081
# application-host=0.0.0.0
# nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# nexus-context-path=/${NEXUS_CONTEXT}

# Nexus section
# nexus-edition=nexus-pro-edition
# nexus-features=\
# nexus-pro-feature

# nexus.hazelcast.discovery.isEnabled=true
nexus.datastore.enabled=true

部署nexus3.85.0

1
2
3
4
5
6
7
docker run -d \
--name nexus \
-p 8081:8081 \
-p 5000:5000 \
-v /data/soft/nexus:/nexus-data \
-e TZ=Asia/Shanghai \
sonatype/nexus3:3.85.0

image-20251017155704021

至此已完成迁移