nexus制品库的介绍及详细部署使用

一、nexus 介绍

  1. Nexus 是一个强大的仓库管理工具,用于管理和分发 Maven、npm、Docker 等软件包。它提供了一个集中的存储库,用于存储和管理软件包,并提供了版本控制、访问控制、构建和部署等功能。

  2. Nexus 可以帮助开发团队提高软件包管理的效率和可靠性,减少软件包冲突和版本不一致的问题,并提供了一个安全、可靠的软件包分发渠道。

  3. Nexus 支持多种仓库类型,包括 Maven 仓库、npm 仓库、Docker 仓库等,并且可以与其他工具和系统集成,如 Jenkins、Ansible、Kubernetes 等,以实现自动化的构建、部署和管理。

  4. 总的来说,Nexus 是一个非常有用的工具,可以帮助开发团队更好地管理和分发软件包,提高软件开发的效率和质量。

二、nexus 支持的仓库

nexus制品库的介绍及详细部署使用_第1张图片

三、nexus 部署

官网:Download Nexus Repository OSS | Sonatype

准备工作:

三台服务器:(均关闭防火墙和selinux)

192.168.58.149        jenkins

192.168.58.150        nexus

192.168.58.151        sonarqube

jenkins服务器端操作:

安装并配置jdk环境

[root@jenkins ~]# tar xf jdk-11.0.19_linux-x64_bin.tar.gz -C /usr/local
[root@jenkins ~]# ls /usr/local/
bin  etc  games  include  jdk-11.0.19  lib  lib64  libexec  sbin  share  src

[root@jenkins ~]# cat /etc/profile.d/jdk11-0.sh 
JAVA_HOME=/usr/local/jdk-11.0.19
PATH=$PATH:$JAVA_HOME/bin

[root@jenkins ~]# source /etc/profile.d/jdk11-0.sh

[root@jenkins ~]# java -version
java version "11.0.19" 2023-04-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.19+9-LTS-224)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.19+9-LTS-224, mixed mode)

 启动jenkins

[root@jenkins ~]# ls
anaconda-ks.cfg  plugins-2.414.3.tar.gz  jdk-11.0.19_linux-x64_bin.tar.gz  jenkins-2.414.3.war 

[root@jenkins ~]# yum -y install fontconfig     

[root@jenkins ~]# java -jar jenkins-2.414.3.war 
Running from: /root/jenkins-2.414.3.war
webroot: /root/.jenkins/war
2023-11-29 07:26:25.292+0000 [id=1]     INFO    winstone.Logger#logInternal: Beginning extraction from war file
····

 nexus服务端操作:

 安装jdk

[root@nexus ~]# tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/

[root@nexus ~]# cat /etc/profile.d/jdk1-8.sh 
JAVA_HOME=/usr/local/jdk1.8.0_211
PATH=$PATH:$JAVA_HOME/bin

[root@nexus local]# source /etc/profile.d/jdk1-8.sh

[root@nexus local]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

下载安装nexus

[root@nexus ~]# ls
anaconda-ks.cfg  ip_fixed.sh  jdk-8u211-linux-x64.tar.gz  nexus-3.62.0-01-unix.tar.gz  yum-server.sh
[root@nexus ~]# tar xf nexus-3.62.0-01-unix.tar.gz -C /usr/local/

创建用户并修改文件权限

[root@nexus ~]# useradd  nexus
[root@nexus ~]# chown -R nexus.nexus /usr/local/nexus-3.62.0-01/

切换用户并启动nexus

[root@nexus nexus-3.62.0-01]# su nexus

[nexus@nexus ~]$ cd /usr/local/nexus-3.62.0-01/
[nexus@nexus nexus-3.62.0-01]$  ./bin/nexus start
Starting nexus

[nexus@nexus nexus-3.62.0-01]$ ss -nplt | grep java
LISTEN     0      1      127.0.0.1:35388                    *:*                   users:(("java",pid=14227,fd=117))
LISTEN     0      50           *:8081                     *:*                   users:(("java",pid=14227,fd=902))

 浏览器访问:192.168.58.150:8081

初始用户:admin       密码:在 /usr/local/sonatype-work/nexus3/admin.password 里

[root@nexus ~]# cat /usr/local/sonatype-work/nexus3/admin.password
c5a65934-df56-4715-85d7-d4d93aefc814

nexus制品库的介绍及详细部署使用_第2张图片

 登录成功,记得修改密码,方便下次登录。

四、nexus 数据备份

设置 => system[tasks] => create task

nexus制品库的介绍及详细部署使用_第3张图片

Admin-export 导出数据备份

nexus制品库的介绍及详细部署使用_第4张图片

完成填写后,create task 。

五、创建一个内网yum源

创建一个存储库 Blob(Binary Large Object)是一种二进制大对象,通常用于存储图像、音频、视频等大型文件。Blob Stores 是一种用于存储和管理 Blob 的数据存储服务,通常由云服务提供商提供。

nexus制品库的介绍及详细部署使用_第5张图片

nexus制品库的介绍及详细部署使用_第6张图片

创建一个Repositories 仓库

nexus制品库的介绍及详细部署使用_第7张图片

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

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

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

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

nexus制品库的介绍及详细部署使用_第8张图片

 创建yum-hosted

nexus制品库的介绍及详细部署使用_第9张图片

nexus制品库的介绍及详细部署使用_第10张图片

填写完毕,create repository

查看新创建的repository ,并复制其URLnexus制品库的介绍及详细部署使用_第11张图片

nexus制品库的介绍及详细部署使用_第12张图片

 测试上传包

# 仓库地址:http://192.168.58.150:8081/repository/yum-hosted/

[root@nexus ~]# vim /etc/yum.conf 
keepcache=1   #开启安装包缓存

[root@nexus ~]# yum -y install nginx    #安装nginx用来测试
····

[root@nexus ~]# find /var/cache/yum/ -name *.rpm
/var/cache/yum/x86_64/7/mybase/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
/var/cache/yum/x86_64/7/mybase/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
/var/cache/yum/x86_64/7/myepel/packages/nginx-1.20.1-10.el7.x86_64.rpm
/var/cache/yum/x86_64/7/myepel/packages/nginx-filesystem-1.20.1-10.el7.noarch.rpm
/var/cache/yum/x86_64/7/myepel/packages/openssl11-libs-1.1.1k-5.el7.x86_64.rpm

# 如果你想上传本地缓存的包,可以通过下列命令进行上传
# 注意,这里的admin 123456 指的是nexus的账号密码,可以根据不同的权限进行创建

[root@nexus ~]# find /var/cache/yum/ -name "*.rpm" -exec curl -v --user 'admin:123456' --upload-file {} http://192.168.58.150:8081/repository/yum-hosted/{} \;

·····
* Connection #0 to host 192.168.58.150 left intact

执行完成之后浏览器查看

nexus制品库的介绍及详细部署使用_第13张图片

六、创建一个代理yum仓库

nexus制品库的介绍及详细部署使用_第14张图片

查看

nexus制品库的介绍及详细部署使用_第15张图片

新建yum源并安装任意服务,这里安装mariadb mariadb-server

[root@jenkins ~]# vim /etc/yum.repos.d/nexus-aliyun.repo 
[nexus-aliyun]
name=nexus-aliyun
baseurl=http://192.168.58.150:8081/repository/yum-aliyun/$releasever/os/$basearch/
enabled=1
gpgcheck=0

[nexus-epel]
name=nexus-epel
baseurl=http://192.168.58.150:8081/repository/yum-aliyun-epel/$releasever/$basearch/
enabled=1
gpgcheck=0

[root@jenkins yum.repos.d]# yum clean all

[root@jenkins yum.repos.d]# yum repolist
····
                                                                13,789
repolist: 23,861
[root@jenkins yum.repos.d]# yum -y install mariadb mariadb-server
····
完毕!

浏览器查看

nexus制品库的介绍及详细部署使用_第16张图片

七、jenkins 使用 nexus插件

 jenkins插件文档 : Nexus Artifact Uploader | Jenkins plugin

 测试仓库 : https://gitea.beyourself.org.cn/newrain001/easy-springmvc-maven.git  

7.1 jenkins 安装插件

nexus制品库的介绍及详细部署使用_第17张图片

7.2 配置 maven 工程

 新建maven项目

nexus制品库的介绍及详细部署使用_第18张图片

nexus制品库的介绍及详细部署使用_第19张图片 测试仓库url: newrain001/easy-springmvc-maven - easy-springmvc-maven - Gitea: Newrain 代码仓库

nexus制品库的介绍及详细部署使用_第20张图片

nexus制品库的介绍及详细部署使用_第21张图片

nexus仓库的账号和密码 : admin   123456 

nexus制品库的介绍及详细部署使用_第22张图片

项目的信息 

nexus制品库的介绍及详细部署使用_第23张图片


  4.0.0
  springmvc-maven
  easy-springmvc-maven
  
  0.0.1
  war
  springmvc-maven
  simple demo about how to use maven combine spring mvc
  
  
   
    easy-springmvc-maven
    
      
        maven-compiler-plugin
        3.1
        
          1.6
          1.6
        
      
       
      maven-war-plugin 
         
        3.0  
        
        
        
         
       
    
  
  
  	
  		junit
  		junit
  		4.12
  		test
  	
    
    
	
		org.springframework
		spring-webmvc
		${spring.version}
	
	
		org.springframework
		spring-jdbc
		${spring.version}
	
	
		org.springframework
		spring-context
		${spring.version}
	
	
		org.springframework
		spring-aop
		${spring.version}
	
	
		org.springframework
		spring-core
		${spring.version}
	
	
		org.springframework
		spring-test
		${spring.version}
	
	
	
	
		jstl
		jstl
		1.2
	
	
		taglibs
		standard
		1.1.2
	
	
  
  
  
  	UTF-8
  	3.1.2.RELEASE
  

 应用保存并构建项目

nexus制品库的介绍及详细部署使用_第24张图片

nexus制品库的介绍及详细部署使用_第25张图片

nexus制品库的介绍及详细部署使用_第26张图片

nexus制品库的介绍及详细部署使用_第27张图片

你可能感兴趣的:(项目部署,软件安装,运维)