当前位置: 首页 > news >正文

Nexus 仓库

Nexus 仓库

1. 概述

背景:

  • 在 Maven、npm/cnpm 等构建过程中,需要下载大量依赖包。
  • 这些依赖包在每次构建时都会被使用,如果每次都从公网(如 Maven 阿里云、国内 npm 源)下载,会浪费带宽并降低构建效率。
  • 可以通过搭建内部软件仓库来缓存和管理这些依赖包,而 Nexus 正是实现这一功能的主流工具。

安全:

  • 统一入口,集中管控:所有依赖都必须经过 Nexus,避免开发者随意引入未知或有漏洞的第三方包。

  • 来源可信只有经过 CI/CD 流程(含安全检查)的制品才能被上传到 Nexus,确保进入生产环境的制品是可信的。

核心价值:

  • 缓存公网依赖,加速内部构建。
  • 存储内部二方包/三方包,实现制品管理。
  • 统一团队依赖版本,提升构建一致性。

使用全流程:

image-20260305181341169

2. 极速部署指南

2.1 下载

从官方地址下载 Nexus 安装包:

https://www.sonatype.com/download-oss-sonatype

2.2 部署

1. 解压与目录准备

# 解压到指定目录
tar xf nexus-3.13.0-01-unix.tar.gz -C /app/tools/# 创建软链接,方便版本管理
ln -s /app/tools/nexus-3.13.0-01/ /app/tools/nexus# 创建全局命令软链接
ln -s /app/tools/nexus/bin/nexus /sbin/

2. 安装 JDK 依赖

Nexus 基于 Java 开发,需安装 JDK 8:

rpm -ivh jdk-8u331-linux-x64.rpm

3. 启动与状态检查

# 启动 Nexus
nexus start# 检查运行状态
nexus status
# 输出 nexus is running. 表示启动成功# 验证端口(默认 8081)
ss -lntup | grep java

⚠️ 重要提示:Nexus 不推荐以 root 用户运行,启动时会出现警告。生产环境应使用专用用户(如 nexus)运行。

2.3 配置

1. hosts 解析

在服务器 /etc/hosts 中添加:

10.0.0.74 nexus.oldboylinux.cn

2. 登录与初始设置

  • 访问地址http://nexus.oldboylinux.cn:8081
  • 默认账号admin / admin123

3. 系统优化(解决文件描述符警告)

登录后若提示 max file descriptors [4096] likely too low,需调整系统参数:

# 编辑 limits.conf
vim /etc/security/limits.conf# 新增以下内容
* soft nofile 65536
* hard nofile 65536# 临时生效(重启后失效)
ulimit -n 65536

配置完成后重启 Nexus 服务生效。

4. 配置阿里云 Maven 代理源

为了加速依赖下载,将 Nexus 的默认代理源改为阿里云:

  1. 进入 Nexus 管理界面,点击 Settings > Repositories

  2. 找到 maven-central 仓库,点击进入配置。

  3. Proxy > Remote storage 中,将地址修改为:

    http://maven.aliyun.com/nexus/content/groups/public/
    
  4. 保存配置,Nexus 会从阿里云缓存 Maven 依赖。

image-20260306112321099

image-20260306112416513

image-20260306112436805

2.3 连接使用 Nexus

Maven 项目连接 Nexus 有两种方式:

连接方式 说明 配置文件
全局配置 所有 Java 项目默认使用 Nexus maven/conf/settings.xml
项目配置 仅单个项目使用 Nexus 项目目录下的 pom.xml

全局配置(settings.xml)

1. 替换配置文件

# 备份原配置
cp /app/tools/maven/conf/settings.xml{,.ori}# 覆盖为 Nexus 配置
cp settings-by-lidao996.xml /app/tools/maven/conf/settings.xml

2. settings.xml 核心配置详解

2.1 认证信息(servers)

用于配置访问 Nexus 仓库的用户名和密码:

<servers><server><id>my-nexus-releases</id><username>admin</username><password>admin123</password></server><server><id>my-nexus-snapshot</id><username>admin</username><password>admin123</password></server>
</servers>
2.2 镜像配置(mirrors)

将所有 Maven 请求转发到 Nexus:

<mirrors><mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://nexus.oldboylinux.cn:8081/repository/maven-public/</url></mirror>
</mirrors>
2.3 仓库配置(profiles)

配置从 Nexus 获取依赖和插件:

<profiles><profile><id>nexus</id><repositories><repository><id>central</id><url>http://nexus.oldboylinux.cn:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://nexus.oldboylinux.cn:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile>
</profiles><activeProfiles><activeProfile>nexus</activeProfile>
</activeProfiles>

2.4 编译与测试

1. 验证 Maven 构建

在 Jenkins 或本地执行 Maven 构建,观察日志:

mvn clean package

关键日志

  • 依赖下载地址应为 Nexus 地址,如:
    http://nexus.oldboylinux.cn:8081/repository/maven-public/...
  • 最终输出 BUILD SUCCESS 表示配置成功。

image-20260306112921199

image-20260306112718473

2. 验证 Nexus 缓存

登录 Nexus 管理界面(http://nexus.oldboylinux.cn:8081),在 Browse > Maven 中可看到已缓存的依赖包,证明 Nexus 已正常工作。

image-20260306112648628

3. 总结

1. Nexus 的核心定位

  • 仓库/私服:统一管理和缓存构建依赖,加速内部构建。
  • Maven (Java) 仓库:支持 Maven 项目的依赖管理和制品上传。
  • NPM 仓库:可扩展支持前端项目的 NPM 包管理。

2. 在 DevSecOps 全流程中的角色

在完整的 DevSecOps 流程中,Nexus 作为制品库,是连接“构建”与“部署”的关键环节:

  1. 代码托管:GitLab/GitHub 等。
  2. 代码获取:Jenkins 拉取代码。
  3. 安全检查:SonarQube、Nexus、OWASP Dependency-Check。
  4. 构建:Maven/Gradle 等工具从 Nexus 下载依赖,生成制品。
  5. 制品管理:构建产物(如 WAR/JAR)上传到 Nexus 或 Docker 私有仓库。
  6. 部署:从制品库拉取制品,部署到测试/生产环境。

image-20260306113809001

http://www.jsqmd.com/news/444201/

相关文章:

  • 2026玻璃热弯模具公司推荐,业内优质企业大揭秘,硬硅酸钙石保温板/硅酸钙保温板,玻璃热弯模具企业口碑排行 - 品牌推荐师
  • Java安全 RMI远程调用
  • 2026咖啡全自动商用选购指南:性能 + 运维 + 成本一文看懂 - 品牌2026
  • 基于GIS的无人机城市调度与监测平台
  • Jenkins详解实战
  • WPF STA线程
  • 2026 商务全自动商用咖啡机选购指南推荐,从入门到高配实用选型指南 - 品牌2026
  • 厂家提醒:选购全自动总磷总氮分析仪,除了参数还应关注什么? - 品牌推荐大师1
  • Git 忽略本地修改 不再出现在本地改变
  • 【往届已完成EI检索】第二届物理学与量子计算国际学术会议(ICPQC 2026)
  • 堵车不堵心,健力宝多品类为春节返程旅客“补水续航” - 速递信息
  • 【ACM出版-EI稳定检索】第二届健康大数据国际学术会议(HBD 2026)
  • 2026年儿童羽绒服十大名牌排名,宝妈宝爸闭眼入! - 品牌测评鉴赏家
  • 2026年绝缘陶瓷管/陶瓷支架厂家权威推荐:宜兴胜达耐火陶瓷,氧化铝/滑石瓷/堇青石全系绝缘陶瓷供应商 - 品牌推荐官
  • 2026线下买童装去哪家?宝妈实测! - 品牌测评鉴赏家
  • 2026三八女神节NMN抗衰榜:NMN品牌怎么选? - 速递信息
  • 论文降AI率省钱攻略:如何用最少的钱达到最好的降AI效果 - 我要发一区
  • 2026 全自动商用咖啡机哪家技术强?商用高性价比品牌推荐 - 品牌2026
  • 2026酒精厌氧絮状菌种直销:揭秘行业优质厂家排行,酒精厌氧絮状菌种选哪家深度剖析助力明智之选 - 品牌推荐师
  • 降AI率不只靠工具!手动+工具组合降AI的进阶技巧 - 我要发一区
  • 【业务架构】用蜘蛛表格搭建销售管理系统:表结构设计+自动化规则详解 - 蜘蛛小助理
  • 2026智慧环卫管理平台推荐:郑州森鹏物联网,提供环卫一体化综合管理解决方案 - 品牌推荐官
  • 2026年重庆搬家搬厂厂家榜单 专业团队护航 适配家庭与个性化需求 解决各类搬迁核心痛点 - 深度智识库
  • 2026年2月山东干选机/智能干选设备/煤矸分选设备/大块煤矸分选设备/智能干选系统/干选设备厂家专业推荐:口碑与技术双优榜单 - 2026年企业推荐榜
  • 2026年碳酸钙系列原料推荐:石家庄驰霖矿产品,纳米/重质/活性/造纸用/超细碳酸钙全系供应 - 品牌推荐官
  • 2026年用户推荐:这些精密倒角机厂家值得信赖,全自动倒角机/双头倒角机/数控倒角机/圆棒倒角机,精密倒角机厂家怎么选择 - 品牌推荐师
  • 2026年地面/混凝土/瓷砖/抹灰/墙面空鼓治理推荐:浙江耐威德化工科技专业方案 - 品牌推荐官
  • phpStudy v8.1 离线版一键安装包(小皮面板)
  • 2026优质腾讯企业邮箱代理商推荐,正规渠道一站式服务指南 - 品牌2026
  • 宝妈宝爸必看!2026线下童装宝藏店铺大揭秘 - 品牌测评鉴赏家