Jenkins+Nexus+Shell实现Jar包批量上传脚本工具

前置条件:

本地jar包按照maven下载目录结构已和两个脚本在同级目录;

一、操作上传脚本jarimport.sh

#!/bin/bash
echo "get cuurnt path"
basePath=$(cd $(dirname $0);pwd)
echo $basePath

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

echo "import jars"
find . -type f -not -path './jarimport\.sh*' \
    -not -path './callimport\.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}/{} ;

if [ $? -eq 0 ]; then
  echo "successed ."
else
  echo "failed , please check this script ."
  exit 1
fi

二、上传入口脚本callimport.sh

#!/bin/bash
echo "get cuurnt path"
basePath=$(cd $(dirname $0);pwd)
echo $basePath

# 定义参数
USERNAME="admin"
PASSWORD="admin123"
echo "调用jar包批量上传脚本执行上传操作"
sh $basePath/jarimport.sh -u $USERNAME -p $PASSWORD -r $1

if [ $? -eq 0 ]; then
  echo "successed ."
else
  echo "failed , please check this script ."
  exit 1
fi

三、执行上传

sh callimport.sh 需要推送的nexus库url

四、扩展集成Jenkins做半自动化上传

 五、可继续将jar包源文件获取自动化及加入对jar包开源协议的人工判断,从而实现jar包私库的严格自动化管控......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿蜡客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值