侧边栏壁纸
博主头像
lai博主等级

  • 累计撰写 53 篇文章
  • 累计创建 19 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

如何将Nexus2下第三方jar包迁移到Nexus3

lai
lai
2022-12-11 / 0 评论 / 0 点赞 / 1,286 阅读 / 529 字
温馨提示:
本文最后更新于 2022-12-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

如何将Nexus2下第三方jar包迁移到Nexus3

问题描述

公司升级Nexus3后,需要将原来第三方jar包也同时迁移到新服务中,如果仅升级迁移连接形式的仓库可以通过创建update实现,这里不做展开

如何操作

  1. 在Nexus2服务器上找到jar包
    a. 先找到服务器上,我们可以通点击第三方jar包仓库信息,查看Configuration下的Defalut Local Storage Location找到jar包仓库文件夹,可以先压缩并拷贝到工作,防止误操作导致数据问题
    b. 拷贝出来的仓库文件夹会带有.index.meta.nexus 文件夹,可以删除
    c. 删除后在仓库文件夹副本中创建shell脚本

  2. 创建shell脚本vi 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}/{} ;

脚本作用是将遍历当前文件夹的内容,使用curl指令上传到Nexus3服务,所以需要用到Nexus3的用户与密码

  1. 授权执行chmod +x mavenImport.sh

  2. 执行命令上传jar到Nexu3./mavenImport.sh -u {user} -p {password} -r http://{yourIp}:{yourPort}/{yourRepository}/
    user和password分别为Nexus3用户与密码
    http://{yourIp}:{yourPort}/{yourRepository}/ 为目标仓库链接,可以在仓库中查看

👉小小提示

  1. 建议可以先创建临时仓库,通过一两个jar包对脚本进行验证,成功后再大批量迁移
  2. 脚本是shell脚本,通常是需要在linux环境执行,如果window安装了git,可以通过git命令行窗口执行脚本

原文出自: https://www.hangge.com/blog/cache/detail_2910.html

0

评论区