当前位置:网站首页>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/


上传成功
边栏推荐
- Shell常用脚本:Nexus批量上传本地仓库增强版脚本(强烈推荐)
- Binary tree non-recursive traversal
- 手写一个简单的web服务器(B/S架构)
- Pytest first experience
- Flink_CDC construction and simple use
- Bionic caterpillar robot source code
- C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
- 21. Support Vector Machine - Introduction to Kernel Functions
- 基于单片机GSM的防火防盗系统的设计
- C language parsing json string (json object is converted to string)
猜你喜欢

Realize serial port receiving data based on STM32 ring queue

Shell常用脚本:Nexus批量上传本地仓库脚本

Payment module implementation

Bika LIMS open source LIMS set - use of SENAITE (detection process)

IDA PRO中汇编结构体识别

支付模块实现

UOS统信系统 - WindTerm使用

A high-quality WordPress download site template theme developed abroad

How to reduce the gap between software design and implementation

GateWay implements load balancing
随机推荐
【Acwing】第62场周赛 题解
SQL注入 Less47(报错注入) 和Less49(时间盲注)
Audio alignment using cross-correlation
A solution to the server encountered an internal error that prevented it from fulfilling this request [easy to understand]
@JsonFormat(pattern=“yyyy-MM-dd“)时间差问题
[QNX Hypervisor 2.2用户手册]9.14 set
VOT2021比赛简介
useragent online lookup
flowable workflow all business concepts
Payment module implementation
周总结
@JsonFormat(pattern="yyyy-MM-dd") time difference problem
Interview assault 69: TCP reliable?Why is that?
MySQL数据库‘反斜杠\’ ,‘单引号‘’,‘双引号“’,‘null’无法存储
Student management system on the first day: complete login PyQt5 + MySQL5.8 exit the operation logic
Handwritten a simple web server (B/S architecture)
Unity - by casting and cloning method dynamic control under various UGUI create and display
无状态与有状态的区别
cas and spin locks (is lightweight locks spin locks)
Istio introduction