windows上 Nexus 批量上传 maven依赖npm依赖

windows上 Nexus 批量上传 maven依赖/npm依赖

前言:windows系统上要有git环境,不然sh文件执行不了

1.批量上传maven依赖

设置脚本,把脚本放在依赖包的根目录执行,脚本名为upload.sh

shell 复制代码
#!/bin/bash
 
# 定义变量
while getopts ":r:u:p:" opt; do
   case $opt in
   	r) REPO_URL="$OPTARG"
   	;;
   	u) USERNAME="$OPTARG"
   	;;
   	p) PASSWORD="$OPTARG"
   	;;
   esac
done
 
# 执行命令
find . -type f -not -path './upload\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

执行命令

sh 复制代码
upload.sh -u 账号 -p 密码 -r url

2.批量上传npm依赖

1.打开浏览器登录Nexus,确定你需要上传到的目标 repository 名称。

2、在API菜单中获取上传包的API,如下图所示:

这段 curl 命令,我们在脚本中使用,原理即循环所有 tgz 文件循环调用 api 接口进行上传。

脚本内容

shell 复制代码
#!/bin/bash

# 获取命令行参数

while getopts ":r:u:p:" opt; do
    case $opt in
        r) REPO_URL="$OPTARG"
        ;;
        u) USERNAME="$OPTARG"
        ;;
        p) PASSWORD="$OPTARG"
        ;;
    esac
done

# find 并批量上传

find . -type f -name '*.tgz'  | sed "s|^\./||" | xargs -I '{}' \
curl -u "$USERNAME:$PASSWORD" -X 'POST' -v \
  ${REPO_URL} \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'npm.asset=@{};type=application/x-compressed' ;

将脚本 npmimport.sh 放在所有 tgz 文件所在目录中(所有tgz在同一个文件夹中),然后cmd到当前目录下执行命令

sh 复制代码
npmimport.sh -u admin -p 123456 -r http://nexus.demo.com/service/rest/v1/components?repository=npm-shanhy
相关推荐
醉の虾2 小时前
VSCODE的终端无法执行npm命令
ide·vscode·npm
南玖yy3 小时前
C++ 类模板三参数深度解析:从链表迭代器看类型推导与实例化(为什么迭代器类模版使用三参数?实例化又会是怎样?)
开发语言·数据结构·c++·人工智能·windows·科技·链表
TimeDoor3 小时前
npm install命令都做了哪些事情
前端·npm·node.js
曼陀罗3 小时前
项目中存在 .npmrc, 是不是应该用 npm 安装, 而不用yarn???
前端·npm
无名之逆4 小时前
[特殊字符]Build High-Performance Web Services with Hyperlane
java·前端·java-ee·eclipse·tomcat·maven·visual studio
前端工作日常4 小时前
在 macOS 上查看和修改 npm、yarn 和 pnpm 的全局配置项
前端·npm
瓦特what?4 小时前
C++中实现随机数(超详细!)
开发语言·c++·windows·算法
信息化未来5 小时前
odoo17 windows server布署错误分析
windows
love530love6 小时前
【笔记】Windows系统部署suna基于 MSYS2的Poetry 虚拟环境backedn后端包编译失败处理
开发语言·人工智能·windows·笔记·python·numpy
北渔。6 小时前
【2025.06】jupyter notebook 7+ 新手安装、配置、扩展应用(windows篇)
ide·windows·python·jupyter