当前位置:网站首页>Shell common script: Nexus batch upload local warehouse script
Shell common script: Nexus batch upload local warehouse script
2022-07-31 22:51:00 【Uh-huh**】
文章参考: https://blog.csdn.net/qq_35237533/article/details/125159799
本人有对此脚本有做进一步增强,推荐使用我新写的增强脚本,如使用请到这个链接进行查看【20220727】 https://blog.csdn.net/weixin_39651356/article/details/126007459
mavenimport.sh == 必须!必须!必须!将此脚本放在待上传的本地仓库里面,Just put it on the son layer,Don't put it on the grandchild layer
#!/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/
上传成功
边栏推荐
- I don't know what to do with sync issues
- Input and output optimization
- Daily--Kali opens SSH (detailed tutorial)
- Student management system on the first day: complete login PyQt5 + MySQL5.8 exit the operation logic
- 「SDOI2016」征途 题解
- A high-quality WordPress download site template theme developed abroad
- 20. Support vector machine - knowledge of mathematical principles
- PHP三元(三目)运算符
- TestCafeSummary
- UVM RAL model and built-in seq
猜你喜欢
Pytest初体验
ICML2022 | 深入研究置换敏感的图神经网络
网易云信圈组上线实时互动频道,「破冰」弱关系社交
Dry goods | 10 tips for MySQL add, delete, change query performance optimization
日常--Kali开启SSH(详细教程)
Binary tree non-recursive traversal
C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
Golang - from entry to abandonment
Efficient Concurrency: A Detailed Explanation of Synchornized's Lock Optimization
Unity - by casting and cloning method dynamic control under various UGUI create and display
随机推荐
Shell常用脚本:Nexus批量上传本地仓库增强版脚本(强烈推荐)
20. Support vector machine - knowledge of mathematical principles
Pytest初体验
如何减少软件设计和实现之间鸿沟
Transfer Learning - Domain Adaptation
Talking about the algorithm security of network security
Linux environment redis cluster to build "recommended collection"
Flink_CDC construction and simple use
ThreadLocal
10大主流3D建模技术
基于单片机GSM的防火防盗系统的设计
The article you worked so hard to write may not be your original
MLP神经网络,GRNN神经网络,SVM神经网络以及深度学习神经网络对比识别人体健康非健康数据
uniapp小程序检查、提示更新
支付模块实现
The uniapp applet checks and prompts for updates
22年8月推广大使额外奖励规则
[QNX Hypervisor 2.2 User Manual]9.14 set
UserAgent resolution
Handwritten a simple web server (B/S architecture)