网站首页 > 教程文章 正文
搭建私服主要出于以下方面的考虑
- 加速构建过程:私服会将远程仓库的依赖缓存到本地,从而减少了构建过程中的下载时间。开发团队在构建项目时可以从私服中快速获取所需依赖,从而提高构建速度,提升团队效率。
- 确保依赖可用性:当远程仓库不稳定或不可访问时,私服仍可提供之前缓存的依赖。这保证了构建过程不受外部因素影响,减少了因网络问题导致的构建失败,进而提高团队的效率。
- 便捷的内部依赖管理:通过私服,团队可以方便地管理和分发企业内部开发的库和组件。这有助于简化企业内部项目之间的依赖管理,提高协同开发的效率。
- 严格的版本控制:私服可以实现对依赖版本的严格控制,确保开发团队使用的依赖符合企业规范。这有助于降低版本冲突带来的问题,减少排查和解决问题的时间,从而提高团队效率。
- 增强安全性:私服可以限制对外部仓库的访问,降低潜在的安全风险。此外,通过私服的权限控制,可以确保只有授权用户才能访问特定的仓库或依赖,从而提高系统的安全性。
搭建Nexus的步骤如下:
- 创建PV
- 创建Deployment
- 创建Ingress
- nexus的仓库管理
- nexus的用户管理
- 本地私服配置
创建PV
创建Deployment
镜像:sonatype/nexus3
挂载路径:/nexus-data
这个路径是用来存储nexus的数据的。
创建Ingress
nexus的仓库管理
我们在创建好nexus后就可以通过域名访问nexus界面。
默认的账号:admin
默认的密码:【镜像运行时生成,需要在镜像中查看】
cat /nexus-data/admin.password
- 登录
- 仓库管理
aliyun-maven
这个仓库是需要创建的。主要作用是搭理阿里云提供的maven私服为我们下载公共的jar加速使用。
点击页面上:[Create repository]
在新页面中选择:[maven2 (proxy)]
这个页面中需要填写以下信息:
Name: [aliyun-maven] 仓库的名字
Remote storage: [https://maven.aliyun.com/nexus/content/groups/public/]
Blob store:[default]这个是仓库中文件的存储位置
xxx-Release
这个库用来存储我们自己项目稳定版本的jar
xxx-Snapshot
这个库用来存储我们自己项目在研发阶段的jar
这两个库都是需要创建的。步骤与aliyun-maven类似,以下是有区别的部分。
在新页面中选择:[maven2 (hosted)]
进入创建仓库界面根据需要选择:Version policy:
maven-central
这个仓库是用来代理maven的中央仓库的。nexus创建好就存在正常情况下不用去管它。
maven-public
这个仓库是一组仓库的集合。我们在客户端配置的就是这个仓库。它也是nexus自带的,但是我们需要对它进行配置,来优化我们的使用体验。
点击此仓库进入编辑页面
按照下图所示配置仓库成员。
如果maven从此仓库拉取jar包则会按照顺序从仓库成员内查找。
在完成后需要将代理仓库如:aliyun-maven,maven-central的索引更新下就可以使用
nexus的用户管理
本地私服配置
在开发电脑上配置settings.xml
注意将username和password替换成对应的开发人员账号。账号在nexus的用户管理里创建。
vi ~/.m2/settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>xxx-releases</id>
<username>${username}</username>
<password>${password}</password>
</server>
<server>
<id>xxx-snapshots</id>
<username>${username}</username>
<password>${password}</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus </name>
<url>http://nexus.xxx.com/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>
在项目的pom.xml中添加以下内容
<distributionManagement>
<repository>
<id>xxx-releases</id>
<name>xxx 代码发布</name>
<url>http://nexus.xxx.com/repository/xxx-Release/</url>
</repository>
<snapshotRepository>
<id>xxx-snapshots</id>
<name>xxx 快照发布</name>
<url>http://nexus.xxx.com/repository/xxx-Snapshot/</url>
</snapshotRepository>
</distributionManagement>
完成后再命令行中执行此命令即可将项目的jar发布到私服中,这个命令执行后会根据项目中的version字段将jar上传到对应的仓库。
mvn clean deploy
猜你喜欢
- 2025-06-10 如何搭建maven私有库——jar包管理(三)
- 2025-06-10 Nexus 私有制品库搭建(npm仓库私有化)
- 2025-06-10 nexus/简洁的maven私服搭建说明(maven配置nexus)
- 2025-06-10 聊聊项目打包发布到maven私仓常见的几种方式
- 2025-06-10 【技术】Maven 上传第三方jar包到私服
- 2025-06-10 maven引入本地jar包的5种方式(maven引入本地项目)
- 2025-06-10 Maven项目如何发布jar包到Nexus私服
- 最近发表
-
- 第十三章:Python在Web开发中的应用
- python mysql 连接池(django mysql连接池)
- Python | SQL库:MySQL(python连接mysql数据库环境搭建)
- 使用Python来实现MySQL与PostgerSQL之间的数据实时同步?
- 申请免费域名SSL,为NAS和个人网站加密
- Cloudflare配置CDN+SSL+代理(cloudflare国内代理)
- Halo博客搭建(halo博客搭建失败怎么办)
- 我用三年踩坑才摸懂建站这事儿独立站新手别闭眼冲
- 30 分钟搞定 Docker 安装与 Nginx 部署,轻松搭建高效 Web 服务
- 免费通配符ssl证书的申请指南——从申请到启动https
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)