欢迎光临
我们一直在努力

Maven和Nexus

 

一、mavennexus工作流程:

1.运维使用任务去gitlab摘取java代码。
2.当代码如果没有编译时,使用maven编译服务器执行编译生成代码项目
3.maven编译时,会调用依赖包,会去maven官方仓库(https://repo.maven.apache.org)调用依赖包,也会从( npm config set registry https://registry.npm.taobao.org)。
4.依赖包一般在国外,在公司内部会搭建内部仓库,叫nexus,依赖包会从nexus下载。

Maven和Nexus

 

 二、Maven说明和使用

实战:以 github 上 java 开源项目 dubbo-admin 为例 安装zookeeper.参考地址:https://www.cnblogs.com/Yuanbangchen/p/17056168.html  #Maven是一个基于 Java 的项目管理工具,因此最基本的要求是在计算机上安装 JDK。 [root@localhost7K ]# yum intall openjdk-8-jdk #调用依赖包,服务器修改 node.js 源为淘宝源,加速资源下载 [root@localhost7K ]# wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.gz [root@localhost7K ]# tar xvf node-v14.15.1-linux-x64.tar.gz [root@localhost7K ]# ln -sv node-v14.15.1-linux-x64 nodejs [root@localhost7K ]# vim /etc/profile [root@localhost7K ]# . /etc/profile [root@localhost7K ]# npm -v [root@localhost7K ]# npm config set registry https://registry.npm.taobao.org  #下载maven软件和设置变量路径 [root@localhost7K ]#cd /usr/local/src/ [root@localhost7K ]# wget https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz [root@localhost7K local]# ln -sv apache-maven-3.6.2 maven "maven" -> "apache-maven-3.6.2" [root@localhost7K maven]# vim /etc/profile export PATH=/usr/local/maven/bin/:/usr/local/nodejs/bin/:$PATH [root@localhost7K maven]# . /etc/profile [root@localhost7K maven]# mvn -v Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00) Maven home: /usr/local/maven Java version: 1.8.0_222-ea, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1062.el7.x86_64", arch: "amd64", family: "unix" #下载源码项目 [root@localhost7K ]# yum install git [root@localhost7K ]# git clone https://github.com/apache/dubbo-admin.git  #执行源码编译: [root@localhost7K ~]# cd dubbo-admin/ #进入到源码目录 [root@localhost7K dubbo-admin]# ls codestyle DISCLAIMER docker dubbo-admin-server dubbo-admin-ui mvnw NOTICE README.md deploy doc dubbo-admin-distribution dubbo-admin-test LICENSE mvnw.cmd pom.xml README_ZH.md #修改源码dubbo-admin配置文件 [root@localhost7K dubbo-admin]# vim dubbo-admin-server/src/main/resources/application.properties server.port=38080 dubbo.protocol.port=30880 dubbo.application.qos-port=32222 # centers in dubbo2.7, if you want to add parameters, please add them to the url admin.registry.address=zookeeper://192.168.80.170:2181 admin.config-center=zookeeper://192.168.80.170:2181 admin.metadata-report.address=zookeeper://192.168.80.170:2181  #执行 java 源码编译并跳过测试单元 [root@localhost7K dubbo-admin]# mvn clean install package -Dmaven.test.skip=true Maven和Nexus #验证 java 包 [root@localhost7K dubbo-admin]# cd dubbo-admin-distribution/target/ [root@localhost7K target]# ls antrun dubbo-admin-0.5.0-SNAPSHOT.jar maven-archiver classes dubbo-admin-distribution-0.5.0-SNAPSHOT.jar maven-shared-archive-resources #启动服务测试: [root@localhost7K target]# java -jar dubbo-admin-0.5.0-SNAPSHOT.jar 

Maven和Nexus

 

 web登录测试

Maven和Nexus

 

zookeeper查看

Maven和Nexus

 

 

 

 

 ==========================================================================================================================

 三、Nexus说明和使用

Nexus 是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。 Maven私服其实并不是Maven的核心概念,它仅仅是一种衍生出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓库负荷、 节省外网带宽、以及提高项目稳定性等优点,使得私服在实际开发过程中得到了相当普遍地使用。 能够帮助我们建立私服的软件被称为 Maven 仓库管理器,主要有以下 3 种: Apache Archiva JFrog Artifactory Sonatype Nexus 其中,Sonatype Nexus 是当前最流行,使用最广泛的 Maven 仓库管理器。Nexus 分为开源版和专业版,其中开源版足以满足大部分 Maven 用户的需求。 Nexus 开源版具有以下特性: 占用内存小(28 M 左右) 具有基于 ExtJs 得操作界面,用户体验较好 使用基于 Restlet 的完全 REST API 支持代理仓库、宿主仓库和仓库组 基于文件系统,不需要依赖数据库 支持仓库索引以及搜索 支持在界面上上传构件 安全控制 参考文档:http://c.biancheng.net/nexus/  仓库的类型仓库: Hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库,比如公司的第三方库 Proxy:代理仓库,它们被用来代理远程的公共仓库,如 maven 中央仓库(官方仓库)。 Group:仓库组,用来合并多个 hosted/proxy 仓库,当你的项目希望在多个 repository 使用资源时就不需要多次引用了,只需要引用一个 group 即可。

nexus 数据备份:

Nexus 中普通数据信息和元数据是分开存储的,普通数据是保存在 blob 中,而元数据保存在数据库中,所以在备份的时候必须同时进行备份普通数据和元数据,才能在后期恢复数据的时候保证数据的最终完整性。


blob 数据:

普通数据信息在 Nexus 中是保存在 blob 中的,所以此部分数据必须进行备份,blob 的典型配置中,此目录对应着 Nexus 的数据目录的 blobs 子目录。


元数据:

元数据在 Nexus 中是在数据库中进行保存的,为了保证数据的完整性,Nexus需要同时将数据库中的数据进行导出和备份



安装nexus并构建私有 yum 仓库示例

内存推荐 4G 或以上,太小会导致无法启动
root@nexus-server:/usr/local/src# tar xf nexus-3.20.1-01-unix.tar.gz
root@nexus-server:/usr/local/src# ln -sv /usr/local/src/nexus-3.20.1-01
/usr/local/nexus
'/usr/local/nexus' -> '/usr/local/src/nexus-3.20.1-01'
root@nexus-server:/usr/local/src# cd /usr/local/nexus
[root@localhost7K nexus]# ./bin/nexus --help
[root@localhost7K nexus]# ./bin/nexus run #前台
[root@localhost7K nexus]# ./bin/nexus start #后台


账号admin ,登录密码文件和配置文件
[root@localhost7K nexus]# ll /usr/local/sonatype-work/nexus3/admin.password
[root@localhost7K nexus]# ll etc/nexus-default.properties

Maven和Nexus

创建nexus 数据目录

Maven和Nexus

 

通过 nexus 作为公司内网 yum 仓库,通过阿里云镜像安装包。本例以zabbix为例:
https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/ #阿里云镜像地址

setting--Create repository—yum(proxy)

Maven和Nexus

Maven和Nexus


Maven和Nexus

centos 7.x 客户端添加配置 yum 仓库:

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

[root@localhost ~]# cat /etc/yum.repos.d/zabbix.repo

[zabbix-nexus]

name=zabbix

baseurl=http://http://192.168.80.200:8081/repository/zzhz-zabbix/

enabled=1

gpgcheck=0


centos7.x 安装 zabbix 测试:

# yum install zabbix-agent zabbix-get --nogpgcheck

Maven和Nexus

 

验证 nexus 数据

 Maven和Nexus

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Maven和Nexus》
文章链接:https://www.456zj.com/38193.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址