蓝破云基础环境构建:Nexus安装及搭建配置(Maven私服)

一 、Maven私服使用场景

私服:私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务。

优势:

  • 节省自己的外网带宽

 建立私服可以减少组织自己的开支,大量的对于外部远程仓库的重复请求会消耗很大的带宽,利用私服代理外部仓库后,对外的重复构件下载得以消除,即降低外网带宽的压力。

  • 加速Maven的构建

不停的请求外部仓库无疑是比较耗时的, 但Maven的一些内部机制(如快照检测)要求Maven在执行构建的时候不停地检查远程仓库的数据。

因此当配置了很多远程仓库时,构建的速度会被大大降低。使用私服可以很好地解决这个问题。

 

  • 部署第三方构件

当某个构件无法从外部远程仓库下载怎么办?

这样的例子很多,如组织内部的生成的私有的构件肯定无法从外部仓库获取,Oracle的JDBC驱动由于版权原因不能发布到外网的中心仓库。

建立私服之后便可以将这些构件部署到本地私服中,供内部的Maven项目使用。
 

  • 提高稳定行,增强控制

Maven构建搞定依赖于远程仓库,因此,当Internet不稳定的时候,Maven构建也会变的不稳定,甚至无法构建。
使用私服后即使暂时没有Internet连接Maven也可以正常运行,因为私服中缓存了大量的构件。

此外一些私服软件(如:Nexus)还提供了很多额外的功能,如权限管理,RELEASE/SNAPSHOT区分等,管理员可以对仓库进行一些更高级的控制。

  • 降低中央仓库的负荷

数百万的请求,存储数T的数据,需要相相当大的财力。使用私服可以避免很多对中央仓库的重复请求。

二、Maven私服构建

 

1.基于cenos7构建,采用docker的方式构建

2.注意权限分配问题,不同的账号权限有所不同

3.账号统一授权登录问题

4.配置、数据文件存储问题

搭建:

1.基础环境准备,docker安装启动(需要做成自启动),安装nexus也需要自启动,docker下载镜像配置(否则很慢)

docker

2.查找nexus镜像

docker search nexus

 2.进行安装,本地没有会进行pull

docker run -d -m 2G  -p 8081:8081 --restart=always --name limp-nexus -v /home/data/nexus:/nexus-data sonatype/nexus3

 指定数据卷后启动,可能会报一些权限错误,导致启动不起来。可能会需要修改文件夹权限

chmod 777  /home/data/nexus

内存设置过小无法启动,如512M

3.访问

1、打开浏览器,访问 http://<host address>:8081/

2、管理员登录密码在 /home/data/nexus/nexus-data 中admin开头的文件中,将其拷贝输入即可。

3、登录之后会要求修改密码,按要求修改即可。

4.配置

配置仓库、配置用户

配置阿里私服代理

 

三、安装包准备

1.apache-maven-3.3.3、配置文件

2.nexus安装包


四、问题汇总

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project limp-framework-core: Failed to deploy artifacts: Could not transfer artifact cn.net.gla:limp-framework-core:jar:2.2.2 from/to public (http://192.168.31.112:8081/repository/shinians-public/): Access denied to: http://192.168.31.112:8081/repository/shinians-public/cn/net/gla/limp-framework-core/2.2.2/limp-framework-core-2.2.2.jar, ReasonPhrase: Forbidden. -> [Help 1]

1.maven的setting.xml中没有配置server信息或者server的信息与服务器信息不正确

解决方案:

setting.xml中server信息(即nexus的可以上传jar的用户信息)修改正确,并且保证server的id与构建项目的pom.xml中的repository的id一致

2.上传,有可能是账号权限问题

尝试用admin上传下

 

 

 

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值