当前位置:网站首页>Shell常用脚本:Nexus批量上传本地仓库脚本
Shell常用脚本:Nexus批量上传本地仓库脚本
2022-07-31 22:31:00 【嗯嗯**】
文章参考: https://blog.csdn.net/qq_35237533/article/details/125159799
本人有对此脚本有做进一步增强,推荐使用我新写的增强脚本,如使用请到这个链接进行查看【20220727】 https://blog.csdn.net/weixin_39651356/article/details/126007459
mavenimport.sh == 必须!必须!必须!将此脚本放在待上传的本地仓库里面,只放到儿子层即可,不要放到孙子层
#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG"
;;
u) USERNAME="$OPTARG"
;;
p) PASSWORD="$OPTARG"
;;
esac
done
# 步骤1:优化原作者有些无啥必要的筛选,因为写的必不起作用,特别注意 -path并不是正则,很像mysql的like模糊查询,大量使用到的转义字符压根没啥软用,而且就算是正则语法他写的也是错的
#find . -type f -not -path './mavenimport\.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}/{} ;
# 下行命令讲解
# 步骤1:当前目录下找出所有是文件非目录类型的文件 - 且排除掉mavenimport.sh文件
# 步骤2:将当前筛选出的文件绝对路径== 前面的 ./ 字符替换成空字符
# 如 ./cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar ==> cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar
# 如 ./cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom ==> cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom
# 步骤3:开始一个一个的上传文件(筛选出有多少行文件绝对路径,则curl则执行多少遍)
# curl -u "$USERNAME:$PASSWORD" -X PUT -v -T cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar ${REPO_URL}/cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.jar
# curl -u "$USERNAME:$PASSWORD" -X PUT -v -T cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom ${REPO_URL}/cn/hutool/hutool-all/5.8.4/hutool-all-5.8.4.pom
find . -type f -not -path '*mavenimport.sh*' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {
} ${REPO_URL}/{
} ;
脚本使用
sh mavenimport.sh -u admin -p admin123 -r http://192.168.19.107:8082/repository/lrc/
上传成功
边栏推荐
- hboot and recovery, boot.img, system.img
- linux view redis version command (linux view mysql version number)
- cas and spin locks (is lightweight locks spin locks)
- 了解下C# 匿名方法
- 面试突击69:TCP 可靠吗?为什么?
- The latest masterpiece!Alibaba just released the interview reference guide (Taishan version), I just brushed it for 29 days
- Transfer Learning - Domain Adaptation
- Write a database document management tool based on WPF repeating the wheel (1)
- AI automatic code writing plugin Copilot (co-pilot)
- Talking about the algorithm security of network security
猜你喜欢
Collation of knowledge points in Ningbo University NBU IT project management final exam
ThreadLocal
ECCV 2022 Huake & ETH propose OSFormer, the first one-stage Transformer framework for camouflaging instance segmentation!The code is open source!...
景区手绘地图的绘制流程
【论文精读】iNeRF
Pytest初体验
Pytest first experience
MATLAB program design and application 2.4 Common internal functions of MATLAB
利用反射实现一个管理对象信息的简单框架
程序进程和线程(线程的并发与并行)以及线程的基本创建和使用
随机推荐
The article you worked so hard to write may not be your original
不知道该怎么办的同步问题
Pytest first experience
(26)Blender源码分析之顶层菜单的关于菜单
【核心概念】图像分类和目标检测中的正负样本划分以及架构理解
GateWay implements load balancing
MATLAB program design and application 2.4 Common internal functions of MATLAB
Components of TypeScript
Federated Learning: Multi-source Knowledge Graph Embedding in Federated Scenarios
顺序表的实现
IDA PRO中汇编结构体识别
[Intensive reading of the paper] iNeRF
NVIDIA已经开始测试AD106和AD107 GPU核心的显卡产品
server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none failed
标段参数说明
PHP三元(三目)运算符
Unity - LineRenderer show a line
Daily practice——Randomly generate an integer between 1-100 and see how many times you can guess.Requirements: The number of guesses cannot exceed 7 times, and after each guess, it will prompt "bigger"
高效并发:Synchornized的锁优化详解
"SDOI2016" Journey Problem Solution