上传项目的全部依赖到maven私有仓库-nexus

背景

项目之前的私有仓库不能使用了,本地仓库可以,但是一旦clean就没了,所以在本地有依赖的时候可以自己搭建一个maven私有仓库然后将依赖全部上传上去

搭建:使用docker-compose方式搭建

docker-compose文件

version: "3.3"
services:
  nexus:
    image: sonatype/nexus3
    container_name: nexus3
    restart: "no"
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 9091:8081
    volumes:
      - ./data:/nexus-data

我这里使用本地的9091端口映射到虚拟机中的8081端口,所以本地访问9091就可以
将docker-compose文件所在目录的data目录作为此仓库存储位置

镜像配置

vim ~/.docker/daemon.json
在registry-mirrors下添加镜像地址,这样可以在pull镜像时速度更快
中科大:https://docker.mirrors.ustc.edu.cn/
阿里云:https://你的阿里云加速地址.mirror.aliyuncs.com(去阿里云搜索镜像加速器)

启动

docker-compose up -d

稍等一会儿后即可启动,在浏览器访问9091端口即可

然后新建仓库,用于上传依赖包到仓库
这里我新建的仓库地址是:http://127.0.0.1:9091/repository/local_repo

将依赖全部放在一个文件夹内

例如我这里放到了这儿:
在这里插入图片描述
然后在这个mavenimport文件夹下新建文件:vim 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
 
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}/{} ;

给脚本执行权限:chmod +x mavenimport.sh

上传依赖

在mavenimport路径下,执行:./mavenimport.sh -u nexus用户名 -p 密码 -r http://127.0.0.1:9091/repository/local_repo/

稍等片刻直到脚本执行完毕即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值