Sonatype Nexus Repository搭建与使用(详细教程3.70.1)

19 篇文章 0 订阅
10 篇文章 0 订阅

目录

一. 环境准备

二. 安装jdk

三. 搭建Nexus存储库

四. 使用介绍


 

一. 环境准备

主机名IP系统软件版本配置信息
nexus192.168.226.26Rocky_linux9.4

Nexus Repository 3.70.1

MySQL8.0

jdk-11.0.23

2核2G,磁盘20G

进行时间同步,关闭防火墙和selinux

Java Archive Downloads - Java SE 11 | Oracle 台灣icon-default.png?t=N7T8https://www.oracle.com/tw/java/technologies/javase/jdk11-archive-downloads.html

下载 (sonatype.com)icon-default.png?t=N7T8https://help.sonatype.com/en/download.html

 

二. 安装jdk

上传至服务器

[root@nexus ~]# ll
total 164856
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm

安装jdk

[root@nexus ~]# yum install -y jdk-11.0.23_linux-x64_bin.rpm

验证安装

[root@nexus ~]# java -version
java version "11.0.23" 2024-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.23+7-LTS-222)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.23+7-LTS-222, mixed mode)

 默认的安装目录在/usr/lib/jvm/

[root@nexus jdk-11-oracle-x64]# pwd
/usr/lib/jvm/jdk-11-oracle-x64
[root@nexus jdk-11-oracle-x64]# ll
total 24
-rw-r--r--  1 root root  160 Mar 12 05:22 README.html
drwxr-xr-x  2 root root 4096 Jul 29 19:33 bin
drwxr-xr-x  4 root root  112 Jul 29 19:33 conf
drwxr-xr-x  3 root root  132 Jul 29 19:33 include
drwxr-xr-x  2 root root 4096 Jul 29 19:33 jmods
drwxr-xr-x 72 root root 4096 Jul 29 19:33 legal
drwxr-xr-x  7 root root 4096 Jul 29 19:33 lib
drwxr-xr-x  3 root root   18 Jul 29 19:33 man
-rw-r--r--  1 root root 1314 Mar 12 05:22 release

三. 搭建Nexus存储库

 

[root@nexus ~]# ll
total 414896
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm
-rw-r--r--  1 root root 256037663 Jul 29 19:43 nexus-3.70.1-02-java11-unix.tar.gz

解压缩

[root@nexus ~]# tar -zxvf nexus-3.70.1-02-java11-unix.tar.gz -C /opt

[root@nexus ~]# ll /opt
total 0
drwxr-xr-x 10 root root 181 Jul 29 19:56 nexus-3.70.1-02
drwxr-xr-x  3 root root  20 Jul 29 19:56 sonatype-work

 nexus-3.70.1-02 目录包含了运行 Nexus Repository 所需的所有程序文件和静态资源。

sonatype-work 目录包含了 Nexus Repository 在运行时生成的所有动态数据和用户自定义配置。

创建一个系统用户

[root@nexus ~]# useradd -r nexus

 修改属主和属组

[root@nexus ~]# chown -R nexus:nexus /opt/nexus-3.70.1-02/
[root@nexus ~]# chown -R nexus:nexus /opt/sonatype-work

 切换到nexus用户

[root@nexus ~]# su -l nexus

 进入bin目录

[nexus@nexus root]$ cd /opt/nexus-3.70.1-02/bin/

前台启动,并查看日志,如果要后台启动可以将run替换成start

[nexus@nexus bin]$ ./nexus run

此时,浏览器访问IP+8081端口,例如我这里访问http://192.168.226.26:8081/

点击登录 

初始用户名:admin  初始密码:在登录的提示路径文件里,查看后复制粘贴登录 

[root@nexus ~]# cat /opt/sonatype-work/nexus3/admin.password
6ec6beee-8c9e-4d24-a0b1-3daf8da5d11c

四. 使用介绍

 

将其一个一个删除即可。

创建仓库类型为yum ,Nexus 仓库类型包括 Group、Hosted 和 Proxy。

Group(组仓库):用于组织其他仓库,它本身不存储任何软件包。Group 仓库可以包含其他类型的仓库,例如 Hosted 或 Proxy 仓库,以方便管理和访问。

Hosted(宿主仓库):用于存储自己构建或上传的软件包。Hosted 仓库通常用于内部开发团队共享软件包,或者用于存储私有软件包。

Proxy(代理仓库):用于代理其他公共仓库的软件包。Proxy 仓库可以缓存公共仓库中的软件包,以提高下载速度和节省带宽。Proxy 仓库还可以用于管理和控制对公共仓库的访问。  

创建仓库

 

将复制的链接,替换到下述命令中去终端执行,替换的位置见图,可参考我替换好的代码分析

此原理就是将rocky系统原本的源的baseurl全部替换为我们的Nexus存储库的链接

sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=http://192.168.226.26:8081/repository/rocky/|g' \
    -i.bak \
    /etc/yum.repos.d/rocky*.repo

dnf makecache

 查看刚创建的库

查看刚配置好仓库中的一些包 

下载一个软件包

[root@nexus ~]# yum install -y vsftpd

 刷新网页再次打开查看

这时,通过对比下载命令执行前后,可以发现配置好后下载包会进行缓存数据 

此时,我们回退历史命令,即撤销刚下载vsftpd

[root@nexus ~]# yum history
ID     | Command line                                                                                                | Date and time    | Action(s)      | Altered
------------------------------------------------------------------------------------------------------------------------------------------------------------------
     6 | install -y vsftpd                                                                                           | 2024-07-29 21:15 | Install        |    1   
     5 | install -y jdk-11.0.23_linux-x64_bin.rpm                                                                    | 2024-07-29 19:33 | Install        |    1   
     4 | install -y vim wget unzip tar lrzsz                                                                         | 2024-07-02 17:23 | Install        |    7   
     3 | -y install epel-release                                                                                     | 2024-07-02 17:21 | Install        |    1 EE
     2 | install -y lrzsz                                                                                            | 2024-07-02 17:20 | Install        |    1  <
     1 |                                                                                                             | 2024-06-06 13:57 | Install        |  336 >E

           
[root@nexus ~]# yum history undo 6

这时,在Nexus存储库中已经有了缓存,这时回退命令后,我们再次重新下载,可以发现下载时间是瞬间就好了

[root@nexus ~]# yum install -y vsftpd

Nexus 存储库管理器的作用是集中管理各种软件包和库文件,从而简化开发和运维团队的工作流程。通过配置 Nexus 存储库并将系统的 .repo 文件的 baseurl 替换为 Nexus 存储库的链接,可以实现以下目的:

  • 集中管理依赖项

    • Nexus 作为一个中央存储库,可以存储和管理多个不同来源的包,例如 Maven、npm、NuGet、YUM、Docker 等。这使得开发团队可以集中管理所有的依赖项,从而简化项目的依赖管理。
  • 加速构建和部署

    • 通过使用本地的 Nexus 存储库,可以减少对外部网络的依赖,加速构建和部署过程。团队成员可以从本地 Nexus 存储库中快速获取所需的包和依赖项,而无需等待从外部源下载。
  • 提高安全性和稳定性

    • Nexus 存储库可以对存储的包和依赖项进行版本控制,确保开发团队使用的是经过验证和安全的版本。此外,Nexus 还可以设置访问权限,确保只有授权人员才能上传和下载包,提升安全性。
  • 缓存和镜像功能

    • Nexus 可以作为外部存储库的缓存或镜像。当你配置了阿里云仓库的链接并将 .repo 文件的 baseurl 替换为 Nexus 存储库的链接后,Nexus 会在第一次请求时从阿里云仓库获取包并缓存到本地。以后再请求相同的包时,将直接从本地 Nexus 存储库中获取,从而提高下载速度和稳定性。
  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZZDICT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值