实战:Nexus 私有仓库部署及迁移

迁移参考文档:https://help.sonatype.com/repomanager3/backup-and-restore/restore-exported-databases

Nexus 2.x 与 Nexus 3.x 版本的区别:

Nexus 2.x 服务器直接存储 Jar 包

Nexus 3.x 服务器存储的是二进制文件

Nexus 仓库管理工具只需要满足一个条件就能运行,那就是我们的系统上要有JRE环境(主要支持Oracle的Java版本)。一般使用Java7或Java8,本文使用JDK8版本。JDK的安装:

# rpm -Uvh /root/softwares/jdk-8u291-linux-x64.rpm

接下来安装 Nexus,Nexus Repository Manager OSS 一般都会捆绑一个 Jetty 实例,默认情况下,Jetty 会监听本地所有IP地址的 8081 端口。Nexus 的安装非常简单,解压即可使用。

# 到官网下载最新版的 Nexus

# tar -xvf nexus-3.32.0-03-unix.tar.gz
# mv nexus-3.32.0-03 sonatype-work/ /data/apps

sonatype-work 目录里面包含了所有的仓库及仓库的配置信息,由于这些信息是在 nexus 之外,所以方便了后续的升级工作。默认情况下,nexussonatype-work 需要在同一个目录下。在本文中,我们把 nexus 安装到了 /data/apps 目录,所以,sonatype-work 目录也要放置在 /data/apps 目录下。(关于 sonatype-work 目录的位置也是可配置的,配置文件为 $NEXUS_HOME/conf/nexus.properties,新版本已经没有这个文件了。)。

接下来把它们移到 /data/apps 目录,并设置软链接:

# cd /data/apps/
# ln -sv nexus-3.32.0-03 nexus

好了之后,先别着急运行之。我们需要设置 Nexus 的环境变量 NEXUS_HOME,修改 /etc/profile 文件,追加如下一行,

# echo "export NEXUS_HOME=/data/apps/nexus" >> /etc/profile

设置完毕,重新加载 /etc/profile 配置文件,并测试 NEXUS_HOME 环境变量是否生效,操作如下,

# . /etc/profile
# echo $NEXUS_HOME
/data/apps/nexus

接下来,我们为了简单起见,使用 root 用户进行启动 Nexus,在 ~/.bashrc 配置文件中设置 RUN_AS_USER 环境变量,

# echo "export RUN_AS_USER=root" >> ~/.bashrc

重新加载 ~/.bashrc 配置文件,并检查其是否生效,

# . ~/.bashrc
# echo $RUN_AS_USER
root

首先启动 Nexus 的控制台,看是否报错,如果没有报错,则可以以服务的形式启动。另外Nexus的日志文件在 NEXUS_HOME/logs 目录下,文件为 wrapper.log。操作如下:

# cd /data/apps/nexus
# ./bin/nexus console

使用浏览器打开 10.20.10.15:8081 即可,用户名为 admin, 密码放在了部署目录下的 admin.password 文件里。如下:

# cat /data/apps/sonatype-work/nexus3/admin.password
7583055e-5adc-49dc-b2a4-1cabf1f86f52

登录后的界面如下,
请添加图片描述

仓库类型

默认仓库说明

  • maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar
  • maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy
  • maven-snapshots:私库快照(调试版本)jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用

仓库类型说明

  • group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。

  • hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件

  • snapshots:本地项目的快照仓库

  • releases: 本地项目发布的正式版本

  • proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库

  • central:中央仓库

如何使用该私服

家目录下的 ~/.m2/settings.xml 配置如下,

➜  springboot-starter-demo git:(master) ✗ cat ~/.m2/settings.xml 
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>
  <servers>
      <server>
          <id>snapshots</id>
          <username>admin</username>
          <password>Abcd1234567</password>
      </server>
      <server>
          <id>releases</id>
          <username>admin</username>
          <password>Abcd1234567</password>
      </server>
  </servers>
  <mirrors>
 <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>

  <profiles>
  <profile>
   <id>dev1_profile</id>
   <repositories>
    <repository>
     <id>dev1_nexus</id>
     <url>http://10.20.20.15:8081/repository/maven-public/</url>
     <r
  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LavenLiu

常言道:投资效率是最大的投资。

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

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

打赏作者

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

抵扣说明:

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

余额充值