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

news2024/11/15 23:53:17

一、nexus 介绍

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

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

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

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

二、nexus 支持的仓库

三、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 数据备份

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

Admin-export 导出数据备份

完成填写后,create task 。

五、创建一个内网yum源

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

创建一个Repositories 仓库

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

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

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

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

 创建yum-hosted

填写完毕,create repository

查看新创建的repository ,并复制其URL

 测试上传包

# 仓库地址: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

执行完成之后浏览器查看

六、创建一个代理yum仓库

查看

新建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
····
完毕!

浏览器查看

七、jenkins 使用 nexus插件

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

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

7.1 jenkins 安装插件

7.2 配置 maven 工程

 新建maven项目

 测试仓库url: newrain001/easy-springmvc-maven - easy-springmvc-maven - Gitea: Newrain 代码仓库

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

项目的信息 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>springmvc-maven</groupId>
  <artifactId>easy-springmvc-maven</artifactId>
  <!-- 注意这里的名字中不要带有snapshot -->
  <version>0.0.1</version>
  <packaging>war</packaging>
  <name>springmvc-maven</name>
  <description>simple demo about how to use maven combine spring mvc</description>
  <build>
  <!-- 使用默认的文件路径 -->
   <!-- 生成的war文件名 避免添加版本号 -->
    <finalName>easy-springmvc-maven</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
        <configuration> 
        <version>3.0 </version> 
        <!-- maven的web项目默认的webroot是在src\main\webapp。如果在此目录下找不到web.xml就抛出webxml attribute is required的异常 -->
        <!-- 需要在pom.xml中增加<webXml>配置 -->
        <!-- <webXml>WebContent\WEB-INF\web.xml</webXml> -->
        </configuration> 
       </plugin>
    </plugins>
  </build>
  <dependencies>
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.12</version>
  		<scope>test</scope>
  	</dependency>
    
    <!-- spring mvc dependencies start -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- spring mvc dependencies end -->
	<!-- 解决页面访问时发生错误: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config - start -->
	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>
	<dependency>
		<groupId>taglibs</groupId>
		<artifactId>standard</artifactId>
		<version>1.1.2</version>
	</dependency>
	<!-- end -->
  </dependencies>
  
  <properties>
  	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	<spring.version>3.1.2.RELEASE</spring.version>
  </properties>
</project>

 应用保存并构建项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271145.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直流负载与交流负载的作用

直流负载和交流负载都是用来消耗电能的装置或设备&#xff0c;它们的作用是将电能转化为其他形式的能量&#xff0c;以满足特定的需求。直流负载主要用于直流电路中&#xff0c;例如直流电源、电池等。它们可以将直流电能转化为热能、光能、机械能等。直流负载在很多领域都有广…

JavaScript图片处理大揭秘!掌握文件流处理方法

说在前面 &#x1f4bb;作为一名前端开发&#xff0c;我们平时也少不了对文件流数据进行处理&#xff0c;今天简单整理一下日常开发中比较常见的一些处理文件流的场景及处理方法&#xff0c;希望可以帮助到大家&#xff0c;挤出多一点的摸鱼学习时间。 常见场景 一、input框上…

uniapp + electron 打包项目

参考文献 1、控制台安装electron和electron打包工具electron-packager npm install electron -g npm install electron-packager -g2、manifest.json修改 运行的基础路径修改为&#xff1a;./ 不然打包出来会出现白屏&#xff0c;读取不到&#xff0c;因为打包出来的h5默认加…

强大的Kubernetes工具的完整指南

在容器化应用程序编排方面&#xff0c;Kubernetes是市场的领导者。它允许用户在多主机环境中管理容器&#xff0c;提供工作负载分配和网络处理。 此外&#xff0c;它还提供了许多在DevOps过程中至关重要的特性&#xff0c;例如自动扩展、自动修复和负载平衡。这些功能解释了Kub…

xcconfig(环境变量) 的使用

xcconfig&#xff08;环境变量&#xff09; 的使用 文章目录 xcconfig&#xff08;环境变量&#xff09; 的使用一、上手使用1、添加 xcconfig 文件2、在文件中添加数据3、将文件配置到工程中4、使用环境变量5、使用 Pod 的项目 二、语法1、注释&#xff1a;2、包含语句&#x…

C语言之“可变参数<stdarg.h>”

目录 前言 stdarg.h头文件 实例&#xff1a;遍历并求和所有传递给sum函数的额外实际参数 前言 有时我们会希望函数带有可变数量的参数就像printf&#xff08;cosnt char* format ...&#xff09;和scanf&#xff08;cosnt char* format ...&#xff09;那样除了有一个参数 …

ArkTS-文本滑动选择器弹窗

文本滑动选择器弹窗 根据指定的选择范围创建文本选择器&#xff0c;展示在弹窗上。 示例 Entry Component struct TextPickerDialogExample {State select: number 2private fruits: string[] [苹果, 香蕉, 橘子, 梨儿, 桃儿]build() {Row() {Column() {Text(当前选择为&…

windows系统bat脚本命令总结之reg命令

前言 做了一段时间的bat脚本开发&#xff0c;bat脚本中有各种各样的命令跟传统的编程逻辑完全不同&#xff0c;本专栏会讲解下各种各式的命令使用方法。 本篇文章讲解的是windows系统注册表操作命令"reg"。 reg命令简介 “reg” 是 Windows 操作系统中的一个命令行工…

关于前端学习的思考-浮动元素和块级元素的关系

先摆关系&#xff1a;浮动元素嵌套块级元素&#xff0c;浮动元素和块级元素是上下关系。 1、浮动元素为父盒子&#xff0c;块级元素为子盒子。 父盒子为浮动元素&#xff0c;子盒子不会继承。如图floatnone&#xff1b; 摆结论&#xff1a;子盒子为行内元素&#xff0c;行内块…

智能优化算法应用:基于群居蜘蛛算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于群居蜘蛛算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于群居蜘蛛算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.群居蜘蛛算法4.实验参数设定5.算法结果6.参考…

excel 计算断面水质等级

在工作中遇到根据水质监测结果要判断断面等级。写了下面的公式&#xff1a; 因子标准值 limits {COD: [15,15, 20, 15,20],氨氮: [0.15, 0.5, 1, 1.5, 2.0],总磷: [0.02, 0.1, 0.2, 0.3, 0.4] } excel公式&#xff1a; IFS(MAX(IF(M2>20,1,0), IF(N2>2,1,0), IF(O2&g…

夜莺项目发布 v6.4.0 版本,新增全局宏变量功能

大家好&#xff0c;夜莺项目发布 v6.4.0 版本&#xff0c;新增全局宏变量功能&#xff0c;本文为大家简要介绍一下相关更新内容。 全局宏变量功能 像 SMTP 的配置中密码类型的信息&#xff0c;之前都是以明文的方式在页面展示&#xff0c;夜莺支持全局宏变量之后&#xff0c;可…

SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel | 京东云技术团队

前言&#xff1a;作者查阅了Sentinel官网、51CTO、CSDN、码农家园、博客园等很多技术文章都没有很准确的springmvc集成Sentinel的示例&#xff0c;因此整理了本文&#xff0c;主要介绍SpringMvc集成Sentinel SpringMvc集成Sentinel 一、Sentinel 介绍 随着微服务的流行&…

SpringBoot Bean解析

Bean解析 IOC介绍 松耦合灵活性可维护 注解方式配置Bean 实现方式1: Component声明,直接类上进行添加注解, 同时保证包扫描能扫到即可实现方式2: 配置类中使用Bean Configuration public class BeanConfiguration implements SuperConfiguration{Bean("dog")Ani…

【开源】基于JAVA的大学计算机课程管理平台

项目编号&#xff1a; S 028 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S028&#xff0c;文末获取源码。} 项目编号&#xff1a;S028&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2…

AtCoder Beginner Contest 330 A~F

A.Counting Passes(暴力) 题意&#xff1a; 给定 n n n个学生的分数&#xff0c;以及及格分 x x x &#xff0c;问多少人及格了。 分析&#xff1a; 暴力枚举&#xff0c;依次判断每个学生的分数即可。 代码&#xff1a; #include <bits/stdc.h> using namespace s…

Stability AI 新发布SDXL Turbo:一款实时文本到图像生成模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Word异常退出文档找回怎么操作?4个正确恢复方法!

“刚刚我在用word编辑文档&#xff0c;但是突然word就显示异常了&#xff0c;然后莫名其妙就自动退出了&#xff0c;这可怎么办&#xff1f;我还有机会找回这些文档吗&#xff1f;” 当我们在使用Microsoft Word时&#xff0c;突然遭遇到程序异常退出的情况&#xff0c;可能会让…

四个方法,设置excel文件只读模式

由于excel文件经常用于数据文件&#xff0c;数据就需要特别保护&#xff0c;大家可能需要将文件设置为只读模式来保护数据不被修改&#xff0c;Excel文件想要设置为只读的方法有很多&#xff0c;今天分享四种方法给大家&#xff1a; 方法一&#xff1a;文件属性 右键点击文件…

面试篇之微服务(一)

目录 概览 1.什么是微服务&#xff1f; 2.微服务带来了哪些挑战&#xff1f; 3.现在有哪些流行的微服务解决方案&#xff1f; 这三种方案有什么区别吗&#xff1f; 4.说下微服务有哪些组件&#xff1f; 注册中心 5.注册中心是用来干什么的&#xff1f; 6.SpringCloud可…