Nexus3 部署备份与恢复

news/2024/11/7 18:47:40/

一、部署

compose.yml

version: '3.9'
services:nexus:environment:INSTALL4J_ADD_VM_PARAMS: "-Xms6g -Xmx6g -XX:MaxDirectMemorySize=15530m "image: sonatype/nexus3:3.41.0container_name: nexusrestart: alwaysports:- "8081:8081"volumes:- /data/appsData/nexus/:/nexus-data

二、配置

1 配置 Maven 代理

当您代理组件时,存储库管理器充当本地中间服务器,用于发送到远程存储库/注册表的任何下载请求。

添加阿里云代理

地址:http://maven.aliyun.com/nexus/content/groups/public
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

阿里云 Maven 代理地址:http://maven.aliyun.com/nexus/content/groups/public

在这里插入图片描述

调整仓库的使用顺序

在这里插入图片描述
在这里插入图片描述
移动 aliyun-proxy 到 maven-central (maven 中央仓库)的上面
在这里插入图片描述
在这里插入图片描述

最终本地 Java 项目中配置的仓库地址就是这里的公共仓库,地址在下图中的红色圆圈中
在这里插入图片描述

修改 setings.xml

  • 系统的 $MAVEN_HOME/conf/settings.xml
  • 用户的 ~/.m2/settings.xml

在自己本地的开发环境中(一般是开发人员自己平时使用的电脑),备份原来默认的 Maven 配置文件 ~/.m2/settings.xml

修改 ~/.m2/settings.xml 文件内容为:

<settings>
<mirrors><mirror><!--This sends everything else to /public --><!-- nexus 是自定义的id 需要和下面 servers 标签中的一致--><id>nexus-</id><mirrorOf>*</mirrorOf><!-- 配置 Nexus3 的本地服务器地址 --><url>http://192.168.80.226:8081/repository/maven-public/</url></mirror>
</mirrors>
<servers><!-- 设置 Nexus3 的用户名密码,就是本地 Nexus3 服务器登录的用户名密码,若果开启了匿名访问,此处可以不设置 --><server><!-- 和上面 mirrors 中的 id 一致 --><id>nexus</id><username>admin</username><password>Password</password></server>
</servers>
<profiles><profile><id>nexus</id><!--Enable snapshots for the built in central repo to direct --><!--all requests to nexus via the mirror --><repositories><repository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile>
</profiles>
<activeProfiles><!--make the profile active all the time --><activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>

测试

在JAVA项目的服务器上创建测试用的项目目录 java-pj,之后再在目录中创建含如下内容的 pom.xml 文件

<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>nexus-proxy</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency></dependencies>
</project>

执行如下命令

mvn package

输入预期效果如下图
在这里插入图片描述
构建成功:
在这里插入图片描述

验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 配置 NPM 代理

2.1 添加NPM官方代理

在这里插入图片描述

在这里插入图片描述
添加如下字段对应的值

Name: npm-proxy
Remote Store URL: https://registry.npmjs.org/

在这里插入图片描述
在这里插入图片描述

在项目所在的电脑的命令行执行如下命令

npm config set registry http://Nexus3服务器IP:8081/repository/npm-proxy

http://Nexus3服务器IP:8081/repository/npm-proxy 具体内容可以参考如下方式获取

在这里插入图片描述
在这里插入图片描述

2.2 添加NPM淘宝代理

地址: https://registry.npm.taobao.org
在这里插入图片描述

在这里插入图片描述

在本地项目服务器的命令行中输入如下配置 npm

在这里插入图片描述

npm config set registry http://192.168.80.226:8081/repository/aliyun-npm/

在项目的服务器上,创建目录 test,并在 test 目录下创建 package.json 文件,并用如下内容填充文件

{
"name": "sample_project1",
"version": "0.0.1",
"description": "Test Project 1",
"dependencies" : {"commonjs" : "0.0.1"
}
}

运行如下命令测试

npm install

出现如下内容,表示成功

在这里插入图片描述
### 浏览本地仓库组建

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、备份

设置备份(数据库)

在这里插入图片描述
在这里插入图片描述

注意: /data/nexus3Data 目录需要授予 UID为 200 的用户所有权限

需要备份的目录有哪些

Nexus Repository 将数据存储在 blob 存储中,并将一些 metadata 和配置信息分别保存在数据库中。必须同时备份 Blob 存储和元数据数据库。备份策略应涉及将数据库和 Blob 存储一起备份到新位置,以保持数据不变。完成以下步骤以执行备份

1 Blob 存储备份

对于文件 Blob 存储,请备份存储 Blob 的目录。

  • 对于典型配置,这将是 。$data-dir/blobs

这个可以通过 Tasks 实现,也可以使用操作系统的计划任务实现。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 节点 ID 备份

每个 Nexus 存储库实例都与一个不同的 ID 相关联。必须备份此 ID,以便 Blob 存储指标(磁盘上 Blob 的大小和计数)和 Nexus 防火墙报告在还原时正常运行。要备份以保留节点 ID 的文件位于以下位置:

$data-dir/keystores/node/​

这个使用操作系统的计划任务实现即可.

0 0  *  *  *  rsync -raP $data-dir/keystores/node/​    --rsh=ssh root@远程服务器IP:/path/to/backup

四、恢复(未验证,勿操作)

在恢复组件数据库时,还必须恢复包含组件的相应blob存储。不这样做将导致blobstore和数据库之间的同步问题。

恢复的步骤:

  1. 停止 Nexus
  2. $data-dir/db 中删除以下目录
    • component
    • config
    • security
  3. 转到存储备份数据库文件的位置(按照此文档设置的话,目录在 /data/nexus3Data)
  4. 将相应的数据库备份文件复制到 $data-dir/restore-from-backup 以进行恢复
  5. 还原对应于数据库备份的blob存储备份(时间上要一致)
  6. 重新启动 Nexus 存储库
  7. 验证 Nexus 存储库是否正常运行
  8. 从目录 restore-from-backup 中删除备份文件

提示

如果blob存储和数据库备份不是在同一时刻进行的,则在还原后可能会失去同步。
要解决此问题

在这里插入图片描述

在这里插入图片描述

五、设置上传自定义组件的功能

默认情况下,不用给 maven 设置用户名和密码,即可实现拉去依赖组件并缓存在本地仓库的功能。
但是,如果是开发人员自己开发的某个组件需要共享出来,以满足其他开发人员的需求。其他开发人员可以通过这个私有maven仓库下载到自己开发模块所依赖的私有组件。

创建角色 Role

在这里插入图片描述
在这里插入图片描述

创建角色,并添加权限 nx-repository-view-*
在这里插入图片描述
创建用户,并添加角色
在这里插入图片描述

在这里插入图片描述

settings

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- 配置Maven服务器的账号信息,自动化部署的时候需要用到 --><servers><server><id>server_id</id><!-- 使用公共的dev/password账号进行日常的发布管理 --><username>dev</username><password>password</password></server></servers><!-- 使用Mirror配置节可以强制所有包请求都会被转向内网Nexus服务器的地址 --><mirrors><mirror><id>mirror_name</id><mirrorOf>*</mirrorOf><url>http://nexus_ip:8081/repository/maven-public/</url></mirror></mirrors>

http://www.ppmy.cn/news/254612.html

相关文章

linux安装nexus

1.首先确认jdk环境是否安装最好安装1.8以上 2.进入home目录创建一个nexus文件夹 (个人喜好) cd /home mkdir nexus 3.进入nexus目录下载nexus的安装包 wget http://download.sonatype.com/nexus/oss/nexus-2.14.8-01-bundle.tar.gz 4.解压下载的压缩包 tar zxvf nexus-2.14.8…

使用android源码编译并烧LG nexus4

首先需要对Lg的nexus解锁。 解锁的方法很简单&#xff0c;adb reboot bootloader之后进入fastboot 模式。 然后使用fastboot oem unlocked进行解锁。 解锁完毕之后&#xff0c;就具备了烧机的前提条件。然后就是编译了。 使用Google提供的源码编译&#xff0c;会生成userdata.…

linux 卸载nexus,CentOS7安装Nexus

1.环境 CentOS Linux release 7.5.1804 jdk-8u181-linux-x64.rpm nexus-3.13.0-01 2.JDK RPM安装 已安装JDK请跳过 #查看是否已安装JDK rpm -qa | grep jdk #卸载jdk相关文件 yum -y remove *jdk* #安装rpm包 rpm -ivh jdk-8u181-linux-x64.rpm 修改/etc/profile文件&#xff0…

使用 nexus 作为 npm 私服

背景: 之前公司内部是使用的 verdaccio 作为私有前端 npm 仓库的工具的, 由于最近安装包时总是遇到问题, 发包 和 安装都比较慢, 不太确定具体是什么问题 几经解决还是没能够解决掉, 索性换一个工具试试, 公司后端的 maven 库私服是使用的 nexus, 找资料时发现 nexus 也是可…

nexus使用说明

一、安装说明 1.下载安装包 2.Windows下安装 3.启动/停止 在命令行下切换到nexus-2.14.4-03-bundle\nexus-2.14.4-03\bin目录下 启动命令&#xff1a;nexus start 停止命令&#xff1a;nexus stop 重启命令&#xff1a;nexus restart 安装为服务&#xff1a;nexus install…

nexus的使用

nexus3.x的安装方法见下文 nexus3.x的安装方法 目录 1、登录nexus 1.1 maven和nexus私服的简单说明 2、配置私服 2.1设置settings文件 2.2 然后设置自己的maven的settings文件 2.3 为了速度更快&#xff0c;这里设置阿里云的镜像仓库而不是中央仓库 3、maven项目打包到远…

记nexus2升级nexus3数据迁移

版本 nexus-2.14 nexus-3.31 数据迁移 方法一: 1、打开nexus2访问页面,创建upgrade(如果存在,直接进行下一步) 2、存在upgrade点击在下面的status找到 token 3、打开nexus3 访问页面,创建upgrade ( 如果存在,直接进行下一步) 4、选择nexus3 upgrade选项,点击ne…

Maven私服Nexus搭建

1. Nexus 安装 1.1 下载Nexus Nexus下载地址&#xff1a;https://download.sonatype.com/nexus/3/latest-unix.tar.gz 1.2 上传至服务器并解压 上传到 Linux 系统&#xff0c;解压后即可使用&#xff0c;不需要安装&#xff0c;但是需要注意&#xff1a;必须提前安装 JDK …