Nexus学习

系列文章目录

第一章 基础知识、数据类型学习
第二章 万年历项目
第三章 代码逻辑训练习题
第四章 方法、数组学习
第五章 图书管理系统项目
第六章 面向对象编程:封装、继承、多态学习
第七章 封装继承多态习题
第八章 常用类、包装类、异常处理机制学习
第九章 集合学习
第十章 IO流、多线程学习
第十一章 仓库管理系统JavaSE项目
第十二章 员工管理系统、多表查询、反射实现DBHelper学习
第十三章 DML、DDL、数据库对象学习
第十四章 网络编程、各种标签、CSS学习
第十五章 ECMAScript、BOM学习
第十六章 DOM、jQuery学习
第十七章 servlet、jsp、Cookie、Ajax学习
第十八章 融资管理系统JavaWeb项目
第十九章 MyBatis框架学习
第二十章 逆向工程、Spring框架IOC、AOP学习
第二十一章 SpringMVC框架学习
第二十二章 SpringBoot框架学习
第二十三章 招聘网站框架项目
第二十四章 Vue介绍、窗体内操作、窗体间操作学习
第二十六章 Vue路由配置、网络请求访问框架项目、element组件介绍学习
第二十五章 标准管理系统Vue项目
第二十六章 Linux安装、Nginx反向代理、负载均衡学习
第二十七章 Docker学习
第二十八章 Jenkins学习
第二十九章 Nexus学习


文章目录

  • 系列文章目录
  • 前言
  • 一、Nexus介绍
    • 1. Nexus介绍
    • 2. 介绍maven仓库jar类型
    • 2.1 快照版(Snapshot)
    • 2.2 发布版(Release)
  • 二、Nexus安装
    • 1. 创建映射路径
    • 2. 启动Nexus
    • 3. 访问Nexus
    • 4. 查看登录密码
    • 5. 设置仓库
      • 5.1 创建代理仓库
      • 5.2 创建本地快照仓库
      • 5.3 创建发布版仓库
      • 5.4 创建仓库组
    • 6. 修改配置文件
  • 三、本地开发环境配置
    • 1. 项目的pom文件配置
    • 2. 修改当前Maven引用
    • 3. 修改打包插件
  • 四、Jenkins将jar文件上传到Nexus
    • 1. 流水线第一步:pull code
    • 2. 流水线第二步:compile
    • 3. 流水线第三步:upload jar
      • 3.1 前三个参数
      • 3.2 第5-7个参数
      • 3.3 第8-9个参数
  • 总结


前言

本文我们要讲述:
Nexus
在下攸攸太上,目前出差中。


一、Nexus介绍

1. Nexus介绍

Nexus 是一个开源的仓库管理器,用于管理和分发软件构建的组件。它可以作为Maven、Gradle等构建工具的中央仓库,用于存储和共享构建输出,如jar文件、源代码、文档等。

2. 介绍maven仓库jar类型

在Maven仓库中,jar类型可以分为快照版和发布版两种类型。

2.1 快照版(Snapshot)

快照版是正在开发中的临时版本,还没有经过大量测试。每次提交到仓库的快照版都会生成一个新的快照,但版本号不会改变。使用快照版可以方便地引入最新的代码更改或修复。

在pom.xml文件中引用快照版时,可以使用类似于1.0-SNAPSHOT的版本号,Maven会自动下载最新的快照版本。主要是编程人员使用于开发的版本。

2.2 发布版(Release)

发布版是经过大量测试并且已经完成全流程的稳定版本。这些稳定的发布版是可以放心引用的,因为它们经过了严格的测试和验证。

在pom.xml文件中引用发布版时,需要指定完整的版本号,如1.0.0。Maven会根据指定的版本号下载相应的发布版。主要是投入市场的最终版本。

Nexus作为一个仓库管理器,能够方便地管理这些不同类型的jar文件,并提供安全、可靠的构建组件分发服务。

二、Nexus安装

1. 创建映射路径

创建如下文件夹/usr/local/docker/nexus/data
同时为目录data授权:

cd /usr/local/docker/nexus
chmod 777 data

在这里插入图片描述

2. 启动Nexus

docker run -d --name nexus3 -p 8081:8081 --restart always -v /usr/local/docker/nexus/data:/nexus-data sonatype/nexus3:3.36.0

在这里插入图片描述

docker ps

在这里插入图片描述

3. 访问Nexus

虚拟机地址:8081
在这里插入图片描述

4. 查看登录密码

点击Nexus网站右上角Sign In,在SSH使用如下语句输出密码

cd data
cat admin.password

在这里插入图片描述
用户名:admin
密码:bf473865-9e04-44a7-acb4-dc73307d5596
在网站上登录
在这里插入图片描述
点击Sign in,后点击Next
在这里插入图片描述
设置新密码后,点击Next
在这里插入图片描述
选择Enable后,点击Next,后点击Finish

5. 设置仓库

5.1 创建代理仓库

按照下面三步点击
在这里插入图片描述
选择maven2(proxy)
在这里插入图片描述
输入如下数据
aliyun_proxy
http://maven.aliyun.com/nexus/content/groups/public/
在这里插入图片描述
之后,点击Create repository,出现aliyun proxy
在这里插入图片描述

5.2 创建本地快照仓库

按照下面三步点击
在这里插入图片描述
选择maven2(hosted)
在这里插入图片描述
输入名字、类型
在这里插入图片描述

5.3 创建发布版仓库

再次点击创建,本次选择maven2(hosted)
在这里插入图片描述
输入名字、类型
在这里插入图片描述

5.4 创建仓库组

点击创建,选择maven(group)
在这里插入图片描述
输入名字
在这里插入图片描述
从Available双击我们创建的三个仓库
在这里插入图片描述
点击Create repository

6. 修改配置文件

在/usr/local/maven/apache-maven-3.3.9/conf文件夹下修改settings.xml文件
首先,在services标签下加入两个server子标签,id对应配置的两个hosted仓库名称

	<server><id>jjy_RELEASE</id><username>admin</username><password>123456</password></server><server><id>jjy_SNAPSHOT</id><username>admin</username><password>123456</password></server>

在这里插入图片描述
其次,在mirrors标签下加入mirror子标签,并注释原ali镜像源

<mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://192.168.14.23:8081/repository/jjy/</url>
</mirror>

在这里插入图片描述
第三,在profiles下配置一套环境

        <profile><id>nexus</id><repositories><repository><id>central</id><url>http://192.168.14.23:8081/repository/jjy/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://192.168.14.23:8081/repository/jjy/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></pluginRepository></pluginRepositories></profile>

在这里插入图片描述
其四,在mirrors下写localRepository标签

<localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>

在这里插入图片描述
最后,在文档尾加入activeProfiles标签,启用刚才配置的环境

<activeProfiles><activeProfile>nexus</activeProfile>  
</activeProfiles>

在这里插入图片描述
我们可以执行一下Jenkins,验证一下,修改镜像仓库后,原来的流水线代码是否可行
在这里插入图片描述
试了半天,终于好使了

三、本地开发环境配置

1. 项目的pom文件配置

将如下代码写入pom.xml文件,配置私服

    <distributionManagement><repository><id>jjy-RELEASE</id><name>Nexus Release Repository</name><url>http://192.168.14.23:8081/repository/jjy/</url></repository><snapshotRepository><id>240919_DemoNginx-1.0-SNAPSHOT</id><name>Nexus Snapshot Repository</name><url>http://192.168.14.23:8081/repository/jjy/</url></snapshotRepository></distributionManagement>

在这里插入图片描述

2. 修改当前Maven引用

在Settings当中我们可以找到当前项目的Maven的setting路径
在这里插入图片描述
在settings文件中,我们将虚拟机的Maven更改的都更改一遍,我们先备份一份
在这里插入图片描述

1、

    <server><id>jjy_RELEASE</id><username>admin</username><password>123456</password></server><server><id>240919_DemoNginx:1.0-SNAPSHOT</id><username>admin</username><password>123456</password></server>

在这里插入图片描述
2、

<mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://192.168.14.23:8081/repository/jjy/</url>
</mirror>  	

在这里插入图片描述
3、

        <profile><id>nexus</id><repositories><repository><id>central</id><url>http://192.168.14.23:8081/repository/jjy/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://192.168.14.23:8081/repository/jjy/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></pluginRepository></pluginRepositories></profile>

在这里插入图片描述
4、

<localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>

在这里插入图片描述

5、

  <activeProfiles><activeProfile>nexus</activeProfile>  </activeProfiles>

在这里插入图片描述
最后不要忘记保存

3. 修改打包插件

build插件的plugins子插件中添加两个新的打包插件

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.0</version><configuration><source>1.8</source><target>1.8</target></configuration>
</plugin>
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>3.0.0</version><configuration><attach>true</attach></configuration><executions><execution><phase>compile</phase><goals><goal>jar</goal></goals></execution></executions>
</plugin>

更改后Git-commit后提交

四、Jenkins将jar文件上传到Nexus

node {stage('pull code'){
git credentialsId: '0d34702d-9692-4d06-90f9-821e743c9bc7', url: 'https://gitee.com/jinjingyuan/240921foureight.git'}stage('compile'){dir('/var/lib/jenkins/workspace/240923one'){sh 'mvn clean install'}}
stage('upload jar'){sh "mvn deploy:deploy-file \-DgroupId=com.jjy \-DartifactId=240919_DemoNginx \-Dversion=1.0-SNAPSHOT \-Dpackaging=jar \-Dfile=/var/lib/jenkins/workspace/240923one/target/240919_DemoNginx-1.0-SNAPSHOT.jar \-Dsources=/var/lib/jenkins/workspace/240923one/target/240919_DemoNginx-1.0-SNAPSHOT-sources.jar \-DpomFile=/usr/local/maven/apache-maven-3.3.9/repository/com/jjy/240919_DemoNginx/1.0-SNAPSHOT/240919_DemoNginx-1.0-SNAPSHOT.pom \-DrepositoryId=jjy_SNAPSHOT \-Durl=http://192.168.14.23:8081/repository/jjy_SNAPSHOT/"}
}

1. 流水线第一步:pull code

    stage('pull code'){
git credentialsId: '0d34702d-9692-4d06-90f9-821e743c9bc7', url: 'https://gitee.com/jinjingyuan/240921foureight.git'}

自己测试自己的代码的git credentialsId和url

2. 流水线第二步:compile

    stage('compile'){dir('/var/lib/jenkins/workspace/240923one'){sh 'mvn clean install'}}

/var/lib/jenkins/workspace/文件夹下的自己项目名称的文件夹清空

3. 流水线第三步:upload jar

stage('upload jar'){sh "mvn deploy:deploy-file \-DgroupId=com.jjy \-DartifactId=240919_DemoNginx \-Dversion=1.0-SNAPSHOT \-Dpackaging=jar \-Dfile=/var/lib/jenkins/workspace/240923one/target/240919_DemoNginx-1.0-SNAPSHOT.jar \-Dsources=/var/lib/jenkins/workspace/240923one/target/240919_DemoNginx-1.0-SNAPSHOT-sources.jar \-DpomFile=/usr/local/maven/apache-maven-3.3.9/repository/com/jjy/240919_DemoNginx/1.0-SNAPSHOT/240919_DemoNginx-1.0-SNAPSHOT.pom \-DrepositoryId=jjy_SNAPSHOT \-Durl=http://192.168.14.23:8081/repository/jjy_SNAPSHOT/"}

3.1 前三个参数

将pom.xml文件中的groupId赋给DgroupId、artifactId赋给DartifactId、version赋给Dversion
在这里插入图片描述

3.2 第5-7个参数

Dfile、Dsources在/var/lib/jenkins/workspace/240923one/target/文件夹下
DpomFile在/usr/local/maven/apache-maven-3.3.9/repository/com/jjy/240919_DemoNginx/1.0-SNAPSHOT/文件夹下

3.3 第8-9个参数

DrepositoryId、Durl分别对应Repositories下的240921_RELEASE的Name和URL

在这里插入图片描述
流水线出现如下、即为成功
在这里插入图片描述


总结

本文讲述了:
Nexus:私有服务,从公司服务器同步所需环境
在下攸攸太上,出差已回归。

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

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

相关文章

Swing模拟银行柜台系统

> 这是一个基于JavaSwing实现的模拟银行柜台系统。 > 具有管理员、柜员、客户三种登录角色。 > 支持开户、注册、存取款、转账、汇款、账单查询等功能。 > 本项目适合JAVA初学者作为入门学习项目。 一、部分界面演示 二、基础依赖 技术/框架版本描述Java11编…

sql中的having与where对比

sql中的having与where对比 1、语法差异2、影响结果范围3、索引使用4、聚合函数5、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在SQL中&#xff0c;having和where都是用来过滤数据的&#xff0c;但它们之间存在一些关键的不同点。 …

mac输入法 cpu占用,解决mac使用输入法出现卡顿延迟

1、介绍 网上有各种方法&#xff0c;例如有touchbar的macbook关闭输入建议&#xff1b;定时重启“简体中文输入法”进程&#xff1b;关闭“显示器具有单独的空间” 这些方法网上都能看到&#xff0c;有些人说能解决&#xff0c;有些人说还是卡&#xff0c;我试过了问题依然存在…

书生大模型实战(从入门到进阶)L1-InternLM + LlamaIndex RAG 实践

目录 配置基础环境 安装 Llamaindex 下载 Sentence Transformer 模型 下载 NLTK 相关资源 LlamaIndex HuggingFaceLLM LlamaIndex RAG LlamaIndex web 本文是对书生大模型L1-InternLM LlamaIndex RAG 实践部分的学习和实现&#xff0c;学习地址如下&#xff1a; 学习地…

JVM基本了解

一、JVM 基本组成 1、JDK\JRE\JVM JDK:全称“Java Development Kit”Java 开发工具包&#xff0c;提供 javac 编译器、jheap、jconso1e 等监控工具;JRE:全称“Java Runtime Environment”Java 运行环境&#xff0c;提供Class Library 核心类库 JVM;JVM:全称“Java Virtual Ma…

XILINX ZYNQ 7000 UART EMIO 串口IO扩展

当需要使用到PL端的IO口用作串口的时候可以使用EMIO对UART的引脚进行扩展 这里使用UART1 进行EMIO扩展 EMIO本质上是属于PL FPGA的资源所以需要进行综合然后再指定管脚 然后把UART1&#xff0c;TX RX做外部引脚 生成bit流文件&#xff0c;然后导入到SDK 创建一个API&#x…

如何解决跨域请求中的 CORS 错误

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介如何解决跨域请求中的 CORS 错误1. 引言2. 什么是 CORS&#xff1f;2.1 同源策略示例&#xff1a; 2.2 CORS 请求的类型 3. CORS 错误的原因3.1 常见 CORS 错误示例 4. 解决 CORS 错误的常见方法4.1 在服务器端启用 CORS4.1.1 Node…

使用Jlink打印单片机的调试信息

1.在工程中添加6个文件 除去RTT_Debug.h外的其他几个文件在jlink安装目录 RTT_Debug.h的内容如下 #ifndef _RTT_H_ #define _RTT_H_#include "SEGGER_RTT.h"#define STR_DEBUG //#define USART_DEBUG#define DBGLOG #define DBGWARNING #define DBGERROR#if def…

【自动驾驶】基于车辆几何模型的横向控制算法 | Stanley 算法详解与编程实现

写在前面&#xff1a; &#x1f31f; 欢迎光临 清流君 的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落。&#x1f4dd; 个人主页&#xff1a;清流君_CSDN博客&#xff0c;期待与您一同探索 移动机器人 领域的无限可能。 &#x1f50d; 本文系 清流君 原创之作&…

RAG(Retrieval-Augmented Generation)检索增强生成技术基础了解学习与实践

RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合了信息检索&#xff08;Retrieval&#xff09;和生成模型&#xff08;Generation&#xff09;的技术&#xff0c;旨在提高生成模型的性能和准确性。RAG 技术通过在生成过程中引入外部知识库&#xff0c;使…

设计模式之装饰模式(Decorator)

前言 这个模式带给我们有关组合跟继承非常多的思考 定义 “单一职责” 模式。动态&#xff08;组合&#xff09;的给一个对象增加一些额外的职责。就增加功能而言&#xff0c;Decorator模式比生成子类&#xff08;继承&#xff09;更为灵活&#xff08;消除重复代码 & 减少…

深入探索卷积神经网络(CNN)

深入探索卷积神经网络&#xff08;CNN&#xff09; 前言图像的数字表示灰度图像RGB图像 卷积神经网络&#xff08;CNN&#xff09;的架构基本组件卷积操作填充&#xff08;Padding&#xff09;步幅&#xff08;Strides&#xff09; 多通道图像的卷积池化层全连接层 CNN与全连接…

c++难点核心笔记(二)

系列文章目录 c难点&核心笔记(一) 继续接着上一章记录的重点内容包括函数&#xff0c;类和对象&#xff0c;指针和引用&#xff0c;C对象模型和this指针等内容&#xff0c;继续给大家分享&#xff01;&#xff01; 文章目录 系列文章目录友元全局函数做友元类做友元成员函…

傅里叶变换及其应用笔记

傅里叶变换 预备知识学习路线扼要描述两者之间的共同点&#xff1a;线性运算周期性现象对称性与周期性的关系周期性 预备知识 学习路线 从傅里叶级数&#xff0c;过度到傅里叶变换 扼要描述 傅里叶级数&#xff08;Fourier series&#xff09;&#xff0c;几乎等同于周期性…

springboot中药材进存销管理系统

基于springbootvue实现的中药材进存销管理系统 &#xff08;源码L文ppt&#xff09;4-079 4 系统总体设计 4.1系统功能结构设计图 根据需求说明设计系统各功能模块。采用模块化设计方法实现一个复杂结构进行简化&#xff0c;分成一个个小的容易解决的板块&#xff0c;然…

二叉树进阶oj题【二叉树相关10道oj题的解析和代码实现】

目录 二叉树进阶oj题1.根据二叉树创建字符串2.二叉树的层序遍历3.二叉树的层序遍历 II4.二叉树的最近公共祖先5.二叉搜索树和双向链表6.从前序与中序遍历序列构造二叉树7.从中序和后序遍历序列来构造二叉树8.二叉树的前序遍历&#xff0c;非递归迭代实现9.二叉树中序遍历 &…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

SaaS(Software as a Service)软件的主流技术架构

在当今数字化时代&#xff0c;SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;软件以其灵活、高效和成本效益高的特点&#xff0c;成为企业信息化建设的首选。为了实现SaaS软件的稳定、可靠和高效运行&#xff0c;其技术架构的设计显得尤为重要。本文…

【好书推荐】《架构真意:企业级应用架构设计方法论与实践》

在快速迭代的互联网和大数据时代&#xff0c;企业级应用架构设计成为了企业技术创新的基石。《架构真意&#xff1a;企业级应用架构设计方法论与实践》一书&#xff0c;由范钢和孙玄两位资深架构师联袂撰写&#xff0c;不仅为工程师、架构师和管理者提供了一套深入且实用的架构…

Humanoid 3D Charactor_P08_Federica

3D模型(人形装备)女孩 “P08_联邦” 内容仅为3D人物模型。 图片中的背景和家具不包括在内。 由Blender制作 包括: 1. 人形机器人3D模型和材质。 2. “Unity-chan!”着色器。 性别:女 装备:人形 皮肤网格:4个骨骼权重 多边形: 20000~40000 纹理分辨率:2K纹理 混合形状:…