首页 > 其他分享 >Sonatype Nexus Repository搭建与使用(详细教程3.70.1)

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

时间:2024-07-29 23:24:40浏览次数:20  
标签:3.70 19 Repository 存储 Nexus 29 nexus root

目录

一. 环境准备

二. 安装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 存储库中获取,从而提高下载速度和稳定性。

标签:3.70,19,Repository,存储,Nexus,29,nexus,root
From: https://blog.csdn.net/Lzcsfg/article/details/140778500

相关文章

  • SpringCloud Alibaba - spring cloud gateway InMemoryRouteDefinitionRepository
    InMemoryRouteDefinitionRepository是SpringCloudGateway中用于存储路由定义(RouteDefinition)的一个实现类,它将所有的路由信息保存在内存中。这个类主要用于简单场景或者开发阶段,因为它提供了快速的读写访问能力,但不支持动态刷新或持久化存储。工作原理:初始化:......
  • maven介绍 搭建Nexus3(maven私服搭建)
    Maven是一个强大的项目管理工具,它基于项目对象模型(POM:ProjectObjectModel)的概念,通过XML格式的配置文件(pom.xml)来管理项目的构建 Maven确实可以被视为一种工程管理工具或项目自动化构建工具。它不仅仅是一个工具,而是一种理念和一套规范,用于帮助开发者管理和构建项目。Maven......
  • [email protected]: Permission denied (publickey). fatal: Could not read from remote
    遇到 [email protected]:Permissiondenied(publickey). 这个错误通常意味着你的SSH密钥没有被GitHub识别或配置不正确。这里有几个步骤可以帮助你解决这个问题:1.检查SSH密钥是否已添加到GitHub查看你的SSH密钥:在本地机器上,你可以使用 ssh-keygen-l-Emd5-f~/.ssh/id_r......
  • 配置管理中Nexus的应用+mvn上传方式
    前言:        Nexus作为市面上为数不多的开源制品仓库,我个人在做配置管理体系建设的时候是会比较经常使用的,很多开发团队中他们不是很重视或者说虽然因为制品遇到了很多问题但是因为没有接触过制品管理的办法所以苦痛已久,今天也跟各位分享一下配置管理中Nexus的使用,便......
  • 解决IDEA自带的Maven 3.9.x无法刷新HTTP Nexus私服的问题
    解决IDEA自带的Maven3.9.x无法刷新HTTPNexus私服的问题前言在日常开发中,我们经常会使用Maven来管理项目的依赖。而Nexus私服则是一个常用的Maven仓库管理工具,可以帮助我们更好地管理和分发项目的依赖。然而,有时候我们会遇到一些棘手的问题,比如在使用IDEA自带的Maven3.9.x时,无......
  • MongoRepository 操作 AWS DocumentDB时,如何达到与MySql 中有 select … for update
    在MySQL中,SELECT...FORUPDATE用于在事务中对读取的数据行加锁,以防止其他事务同时修改这些行。这种行级锁定机制在关系型数据库中广泛使用,以确保数据一致性。在MongoDB或AWSDocumentDB中,类似的效果可以通过以下方式实现:使用FindandModify操作:MongoDB提供了f......
  • Cisco Nexus 9000 Series Switches, NX-OS Standalone 10.4(3)F and ACI Mode 16.0(6c
    CiscoNexus9000SeriesSwitches,NX-OSStandalone10.4(3)FandACIMode16.0(6c)MincludeApplicationPolicyInfrastructureController(APIC)Release6.0(6c)M请访问原文链接:https://sysin.org/blog/cisco-nexus-9000/,查看最新版。原创作品,转载请保留出处。作者主页......
  • 安装Nexus3和使用Nexus3搭建私有docker镜像仓库
    1、官网下载Nexus3:https://help.sonatype.com/en/download.html2、上传到服务器后解压:tar-xfnexus-3.69.0-02-java8-unix.tar.gz3、修改运行nexus配置【1】修运行nexus所使用的用户:vim/opt/nexus3/nexus-3.69.0-02/binexus.rc#修改默认登陆用户为admin#run_as_user=......
  • Java私有仓库Nexus搭建(喂奶式教程)
     1.为什么需要搭建私有仓库?1.有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。而且自己......
  • detected dubious ownership in repository 问题彻底解决大全
    fatal:detecteddubiousownershipinrepositoryat'C:\lindexi\Code\Foo'isownedby:'S-1-5-21-469934170-xxx-xxx-1001'butthecurrentuseris:'S-1-5-21-469994170-aaa-bbb-1001' 这个问题给我很大困扰,我的电脑因为强制改用户名造成了大量bug,无法删除用户安全......