You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Nexus Pro,求从Nexus仓库下载所有artifacts至另一实例的方案

无Nexus Pro时迁移仓库所有Artifacts的可行方案

前提条件

  • 拥有源Nexus实例的读取权限,目标Nexus实例的写入权限
  • 确保源和目标仓库类型一致(如均为Maven2 Hosted、npm Hosted等)

方法一:用curl + wget 手动遍历迁移

适合所有仓库类型,无需额外工具,纯脚本实现

1. 批量下载源仓库的Artifacts

使用wget递归下载指定类型的文件,过滤掉无关页面:

# 替换为你的源Nexus信息
SOURCE_USER="你的源用户名"
SOURCE_PWD="你的源密码"
SOURCE_REPO_URL="https://源nexus地址/repository/源仓库名/"

# 指定需要下载的artifact类型,按需调整(如jar,pom,war,zip,npm等)
ACCEPT_TYPES="jar,pom,war,ear"

wget --user=$SOURCE_USER --password=$SOURCE_PWD \
     --recursive --no-parent --accept=$ACCEPT_TYPES \
     --no-host-directories --cut-dirs=2 \
     $SOURCE_REPO_URL

参数说明:

  • --no-host-directories:不创建域名目录
  • --cut-dirs=2:去掉URL中repository/源仓库名/后的层级前缀,保留原始路径结构

2. 批量上传到目标Nexus

遍历下载的文件,用curl上传到目标仓库:

# 替换为你的目标Nexus信息
TARGET_USER="你的目标用户名"
TARGET_PWD="你的目标密码"
TARGET_REPO_URL="https://目标nexus地址/repository/目标仓库名/"

# 遍历下载的文件,按原始路径上传
find . -type f \( -name "*.jar" -o -name "*.pom" -o -name "*.war" -o -name "*.ear" \) | while read FILE_PATH; do
    # 构造目标URL:保留文件的相对路径
    UPLOAD_URL="${TARGET_REPO_URL}${FILE_PATH#./}"
    # 执行上传,添加重试机制避免超时
    curl -u $TARGET_USER:$TARGET_PWD -T "$FILE_PATH" "$UPLOAD_URL" \
         --max-time 300 --retry 3 --silent --show-error
done

方法二:使用开源Nexus CLI工具

适合批量迁移,操作更简洁,支持多仓库类型

1. 安装Nexus CLI

从官方仓库下载对应系统的二进制文件,或通过Go安装:

go install github.com/sonatype-nexus-community/nexus-cli/cmd/nexus-cli@latest

2. 配置源和目标Nexus实例

# 配置源Nexus
nexus-cli config set --name source \
    --url https://源nexus地址 \
    --username 源用户名 \
    --password 源密码

# 配置目标Nexus
nexus-cli config set --name target \
    --url https://目标nexus地址 \
    --username 目标用户名 \
    --password 目标密码

3. 执行仓库迁移

# 迁移指定仓库的所有artifact
nexus-cli repository copy --from source/源仓库名 --to target/目标仓库名

如果需要迁移多个仓库,可循环执行上述命令。


常见问题排查

  • 权限错误:检查用户是否拥有源仓库的nx-repository-view-*-*-read权限,目标仓库的nx-repository-view-*-*-add权限
  • 上传失败:Maven仓库需确保pom与jar文件路径对应;大文件上传添加--max-time和--retry参数避免超时
  • 路径混乱:下载时保留原始路径结构,确保上传后Nexus能正确识别artifact的元数据

内容的提问来源于stack exchange,提问作者Nuno Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:32:49