nexus 制品库管理

目录

一、nexus 介绍

二、nexus 支持的仓库

三、nexus 部署

四、nexus 数据备份

五、创建一个内网yum源

六、创建一个代理yum仓库

七、jenkins 使用 nexus插件

7.1 jenkins 安装插件

7.2 配置 maven 工程

7.3 查看构建和上传


一、nexus 介绍

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

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

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

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

二、nexus 支持的仓库

仓库名介绍
apt用于存储和管理 Debian 软件包。
bowerWeb 前端包管理器,用于管理 Web 前端资源。
docker用于存储 Docker 镜像。
gitlfs用于存储 Git 大文件。
helm用于存储 Kubernetes Helm charts。
maven2Java 项目构建的仓库。
npmNode.js 软件包管理器。
nuget用于 .NET 平台的软件包管理。
pypiPython 软件包索引。
rR 语言的软件包仓库。
raw一般用于存储任意类型的文件。
rubygemsRuby 的软件包管理器。
yum用于存储 Yum 软件包管理器的仓库。

三、nexus 部署

nexus 官网

安装

[root@localhost ~]# tar -xvf nexus-3.62.0-01-unix.tar.gz -C /opt/
[root@localhost ~]# useradd -r nexus
[root@localhost ~]# chown -R nexus:nexus /opt/nexus-3.62.0-01

启动

[root@localhost ~]# su - nexus      # 切换到 nexus 用户
[root@localhost ~]# cd /opt/nexus-3.62.0-01/bin
[root@localhost ~]# ./nexus run     # 前台启动 Nexus,查看日志
# 也可以通过start后台启动

四、nexus 数据备份

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

image.png

Admin-export 导出数据备份

image.png

image.png

五、创建一个内网yum源

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

image.png

image.png

创建一个Repositories 仓库

image.png

创建仓库类型为yum Nexus 仓库类型包括 Group、Hosted 和 Proxy。 Group(组仓库):用于组织其他仓库,它本身不存储任何软件包。Group 仓库可以包含其他类型的仓库,例如 Hosted 或 Proxy 仓库,以方便管理和访问。 Hosted(宿主仓库):用于存储自己构建或上传的软件包。Hosted 仓库通常用于内部开发团队共享软件包,或者用于存储私有软件包。 Proxy(代理仓库):用于代理其他公共仓库的软件包。Proxy 仓库可以缓存公共仓库中的软件包,以提高下载速度和节省带宽。Proxy 仓库还可以用于管理和控制对公共仓库的访问。

image.png

image.png

找到仓库并拷贝路径

image.png

测试上传包

# 仓库地址:
http://192.168.75.188:8081/repository/yum/
​
# 如果你想上传本地缓存的包,可以通过下列命令进行上传
# 注意,这里的admin Qq111111 指的是nexus的账号密码,可以根据不同的权限进行创建
[root@localhost ~]# find /var/cache/yum/ -name "*.rpm" -exec curl -v --user 'admin:Qq111111' --upload-file {} http://192.168.75.188:8081/repository/yum/{} \;

验证是否成功上传

image.png

尝试使用仓库

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim nexus-yum.repo
[nexus-yum]
name=nexus-yum
baseurl=http://192.168.75.188:8081/repository/yum
gpgcheck=0
enabled=1

image.png

六、创建一个代理yum仓库

image.png

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

image.png

这时,我们可以看到,已经将阿里云的软件包进行了代理,并且,当我们进行了下载时

[root@localhost yum.repos.d]# yum install -y mariadb mariadb-server
...
====================================================================================================
 Package                          Arch            Version                  Repository          Size
====================================================================================================
Installing:
 mariadb                          x86_64          1:5.5.68-1.el7           nexus-yum          8.8 M
 mariadb-server                   x86_64          1:5.5.68-1.el7           nexus-yum           11 M
Installing for dependencies:
 perl-Compress-Raw-Bzip2          x86_64          2.061-3.el7              nexus-yum           32 k
 perl-Compress-Raw-Zlib           x86_64          1:2.061-4.el7            nexus-yum           57 k
 perl-DBD-MySQL                   x86_64          4.023-6.el7              nexus-yum          140 k
 perl-DBI                         x86_64          1.627-4.el7              nexus-yum          802 k
 perl-Data-Dumper                 x86_64          2.145-3.el7              nexus-yum           47 k
 perl-IO-Compress                 noarch          2.061-2.el7              nexus-yum          260 k
 perl-Net-Daemon                  noarch          0.48-5.el7               nexus-yum           51 k
 perl-PlRPC                       noarch          0.2020-14.el7            nexus-yum           36 k
​
Transaction Summary
====================================================================================================
Install  2 Packages (+8 Dependent packages)
...
Dependency Installed:
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7      perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7     
  perl-DBD-MySQL.x86_64 0:4.023-6.el7               perl-DBI.x86_64 0:1.627-4.el7                   
  perl-Data-Dumper.x86_64 0:2.145-3.el7             perl-IO-Compress.noarch 0:2.061-2.el7           
  perl-Net-Daemon.noarch 0:0.48-5.el7               perl-PlRPC.noarch 0:0.2020-14.el7               
​
Complete!

我们可以看到,包已经缓存了下来

image.png

七、jenkins 使用 nexus插件

jenkins 插件文档 测试仓库 easy-springmvc-maven

7.1 jenkins 安装插件

image.png

7.2 配置 maven 工程

image.png

这里涉及到的groupid version 等信息,可以在项目的pom.xml文件中找到。

image.png

image.png

<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>

7.3 查看构建和上传

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux创建与编辑视图

本博客将会详细讲解如何在Linux中如何编辑配置文件 输出重定向 对于一台设备而言&#xff0c;存在着两种设备&#xff0c;分别负责输入与输出&#xff1a; 显示器&#xff08;输出设备>&#xff09; 与 键盘&#xff08;输入设备<&#xff09; 对于Linux系统而言&#…

存储过程与触发器的练习题

1&#xff0e;实验目的 掌握使用SQL Server管理平台和Transact-SQL语句创建存储过程、执行存储过程、修改存储过程、删除存储过程的用法。理解使用SQL Server管理平台和Transact-SQL语句查看存储过程定义、重命名存储过程的用法。掌握通过SQL Server管理平台和Transact-SQL语句…

【古月居《ros入门21讲》学习笔记】18_常用可视化工具的使用

目录 说明&#xff1a; 1. Qt工具箱 日志输出工具&#xff1a;rqt_console 绘制数据曲线&#xff1a;rqt_plot 图像渲染工具&#xff1a;rqt_image_view 综合工具&#xff1a;rqt 2. 三维可视化工具&#xff1a;Rviz Rviz启动 使用示例 3. 仿真平台&#xff1a;Gazebo…

通用plantuml模板头

通用plantuml文件 startuml participant Admin order 0 #87CEFA // 参与者、顺序、颜色 participant Student order 1 #87CEFA participant Teacher order 2 #87CEFA participant TestPlayer order 3 #87CEFA participant Class order 4 #87CEFA participant Subject order …

004:Direct 2D离屏渲染(Qt中实现)

简介&#xff1a; 用QT开发图像显示的小程序&#xff0c;需要一些标注工具&#xff0c;由于用的是opengl渲染&#xff0c;所以就在内存中进行绘制&#xff0c;然后纹理贴图贴出去&#xff0c;发现Qt绘制的效果太差&#xff0c;且速度一般&#xff0c;于是就想着用direct2d来绘制…

MySQL根据binlog恢复数据

简介 本文介绍了使用mysqlbinlog导出数据&#xff0c;根据binlog恢复数据&#xff0c;和导出数据时报需要super权限的解决方法。 环境 MySQL: 5.7.40 说明 MySQL的binlog是数据库服务器在运行过程中产生的日志文件&#xff0c;记录了数据库增删改的操作&#xff0c;可用于恢复和…

leetcode二叉树

下面的两个题呢是比较类似的所以放在一起讲&#xff0c;更好的理解起来。 https://leetcode.cn/problems/same-tree/description/ 这个题就是比较两颗树是不是一样的&#xff0c;这个其实看起来就只要比较当前节点&#xff0c;我们分析成子问题就是判断两颗树当前节点是不是一致…

Java实现动态加载的逻辑

日常工作中我们经常遇到这样的场景&#xff0c;某某些逻辑特别不稳定&#xff0c;随时根据线上实际情况做调整&#xff0c;比如商品里的评分逻辑&#xff0c;比如规则引擎里的规则。 常见的可选方案有: JDK自带的ScriptEngine 使用groovy&#xff0c;如GroovyClassLoader、Gro…

《尚品甄选》:后台系统——分类品牌和规格管理(debug一遍)

文章目录 一、分类品牌管理1.1 表结构介绍1.2 列表查询1.3 添加功能1.4 修改功能1.5 删除功能 二、商品规格管理2.1 表结构介绍2.2 列表查询2.3 添加功能2.4 修改功能2.5 删除功能 一、分类品牌管理 分类品牌管理就是将分类的数据和品牌的数据进行关联&#xff0c;分类数据和品…

48、Flink DataStream API 编程指南(1)- DataStream 入门示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

Web安全漏洞分析-XSS(中)

随着互联网的迅猛发展&#xff0c;Web应用的普及程度也愈发广泛。然而&#xff0c;随之而来的是各种安全威胁的不断涌现&#xff0c;其中最为常见而危险的之一就是跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;。XSS攻击一直以来都是Web安全领…

微信小程序本地和真机调试文件上传成功但体验版不成功

可能是微信小程序ip白名单的问题&#xff0c;去微信公众平台&#xff08;小程序&#xff09;上设置小程序的ip白名单 1、在本地中取消不校验 然后在本地去上传文件&#xff0c;就会发现控制台报错了&#xff0c;会提示一个https什么不在ip白名单&#xff0c;复制那个网址 2、…

【中间件】DAL中间件intro

中间件middleware 内容管理 intro数据访问层why use DAL中间件主流DAL中间件方案DAL浅析 本文从理论上介绍一下服务化背景下的DAL中间件的理论并浅析相关中间件 cfeng之前work的时候产品发展到分离服务不分库的阶段&#xff0c;所以根本不需要DAL中间件&#xff0c;也没有分布式…

机器学习——决策树

1.决策树 2.熵&#xff08;不确定程度&#xff09; 3.信息增益 & 信息增益比 3.1 信息增益 & 信息增益比 的 概念 3.2 案例解释说明 &#xff13;.&#xff12;.&#xff11;数据集说明 &#xff13;.&#xff12;.&#xff12;计算 &#xff14;&#xff0e;&#x…

软件设计师——计算机组成原理(一)

&#x1f4d1;前言 本文主要是【计算机组成原理】——软件设计师计算机组成原理的习题&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &…

[React] 2023年最新面试题

[React] 2023年最新面试题 1. class 组件与函数组件的区别2. react 18 新特性有那些?新增 createRoot API自动批处理过渡更新新的Hook 3. redux 和 react-redux 的区别4. redux 中间件的原理5. setState 发生了什么 &#xff0c;render 函数做了什么6. 虚拟DOM&#xff0c; Fi…

海外储能认证标准

北美认证 UL9540 代表一个封装完整的储能系统功能安全认证&#xff0c;关注机械测试&#xff0c;电器测试和环境测试 UL9540A 关注消防本身&#xff0c;UL9540A测试主要从电池储能系统安装参数&#xff0c;安装通风要求&#xff0c;消防设施&#xff0c;消防策略和应对措施…

SpringCloud 一

认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个…

springmvc实验(三)——请求映射

【知识要点】 方法映射概念 所谓的方法映射就是将前端发送的请求地址和后端提供的服务方法进行关联。在springMVC框架中主要使用Controller和RequestMapping两个注解符&#xff0c;实现请求和方法精准匹配。注解符Controller Spring中包含了一个Controller接口&#xff0c;但是…

【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目

解决idea至少创建jdk17项目 问题idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗? 我本来以为是 IDEA 版本更新导致的 Bug&#xff0c;开始还没在意。 直到我今天自己初始化项目时才发现&…