Nexus安装与维护

一、介绍

官网首页

世界上第一个也是最值得信赖的二进制存储库
nexus有收费版和开源免费版,其中的Nexus Repository Manager OSS是开源免费的,其功能基本满足我们的需求,所以本次搭建采用该版本。
官网地址:https://www.sonatype.com/products/nexus-repository
下载地址:https://www.sonatype.com/thanks/repo-oss
文档地址:https://help.sonatype.com/repomanager3

支持仓库

在这里插入图片描述

仓库类型说明
  • group:仓库聚合,默认是releases>snapshots>central,可以在仓库管理界面引入其他配置的库,并设置顺序
  • hosted:私有仓库,存放自己开发的jar
  • snapshots:本地项目的快照仓库
  • releases: 本地项目发布的正式版本
  • proxy:代理类型,可以配置aliyun的仓库
  • central:中央仓库

二、安装

源码安装
docker安装
  • 查找nexus镜像 docker search nexus
  • 获取官方最新版本镜像 docker pull sonatype/nexus3
  • 创建存储卷 mkdir -p /docker/nexus/
  • 存储卷权限 chmod 755 /docker/nexus/
  • 启动容器 docker run -d --restart always --name nexus3 -p 8081:8081 -v /docker/nexus:/var/nexus-data sonatype/nexus3
  • 访问服务 ip:端口
  • 首次登录 重置admin密码
    a. 进入容器 目录/nexus-data/admin.password 获取登录密码
    b. docker exec -it nexus3 /bin/bash
    c. cat /nexus-data/admin.password
  • 查看默认仓库 nexus
    默认已建好4个库,简单解析下各个库的作用
    maven-central 默认配好的中央仓库,指向https://repo1.maven.org/maven2/
    maven-releases 一般用于自己存放自己开发项目的稳定版本,默认不能重复发布,即deploy,可以设置为允许重复deploy
    maven-snapshots 一般用于存放自己开发项目的快照版本,默认允许重复发布
    maven-public 组合库,一般是组合以上三种库,通常在项目中配置这个仓库

三、maven镜像库

代理仓库配置
  • 浏览器访问nexus仓库

  • 登录管理账户
    在这里插入图片描述

  • 选择设置(登录管理用户才会出现)
    在这里插入图片描述

  • 选择创建仓库
    在这里插入图片描述

  • 选择仓库类型 maven 代理仓库
    在这里插入图片描述

  • 填写仓库信息 (以填写阿里云代理仓库为例)
    在这里插入图片描述

  • 填写仓库名称
    在这里插入图片描述

  • 填写代理服务地址 http://maven.aliyun.com/nexus/content/groups/public
    在这里插入图片描述

  • 选择存储 如果没有特殊需要 默认就可以
    在这里插入图片描述

  • 创建仓库
    在这里插入图片描述

  • 仓库列表就可以查看到代理仓库了
    在这里插入图片描述

  • 调整 maven聚合仓库配置 maven-public仓库配置
    在这里插入图片描述

  • 进入修改页面 并 滑动到底部
    在这里插入图片描述

  • 将代理仓库移动到右侧 并调整顺序
    在这里插入图片描述

  • 保存配置
    在这里插入图片描述

手动发布jar包
  • 浏览器访问nexus仓库

  • 登录管理账户
    在这里插入图片描述

  • 选择上传
    在这里插入图片描述

  • 选择上传仓库
    在这里插入图片描述

  • 上传jar包并填写maven信息
    在这里插入图片描述

  • 确认上传
    在这里插入图片描述

打包发布jar包
  • 修改maven配置文件 setting.xml 增加配置项
<server>
      <id>****-nexus-releases</id>  <!--对应pom.xml的id=releases的仓库-->
      <username>****</username>
      <password>fegvis-d****vpa1</password>
    </server>
     <server>
      <id>pbkj-nexus-snapshots</id> <!--对应pom.xml中id=snapshots的仓库-->
      <username>****</username>
      <password>fegvis-d****vpa1</password>
    </server>
  • 修maven项目主 pom.xml
<distributionManagement>
        <repository>
            <!--id的名字可以任意取,但是在setting文件中的属性<server>的ID与这里一致-->
            <id>****-nexus-releases</id>
            <!--指向仓库类型为host(宿主仓库)的储存类型为Release的仓库-->
            <url>https://maven.****.com/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>****-nexus-snapshots</id>
            <!--指向仓库类型为host(宿主仓库)的储存类型为Snapshot的仓库-->
            <url>https://maven.****.com/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  • 编译器插件发布

  • 命令发布

mvn deploy

注:releases为发布正式版 snapshots为发布快照版 版本号以-SNAPSHOT结尾为发布快照版本

项目配置私有仓库

修改maven配置文件 setting.xml 增加配置项

<mirror>
        <id>****-nexus</id>
        <name>****-nexus</name>
        <!--镜像采用配置好的组的地址-->
        <url>https://maven.****.com/repository/maven-public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

修maven项目主 pom.xml

<repositories>
        <repository>
            <id>public</id>
            <name>aliyun nexus</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
        <!-- 配置nexus远程仓库 -->
        <repository>
            <id>****-nexus</id>
            <name>****私有maven仓库</name>
            <url>https://maven.****.com/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值