1 Nexus安装配置
1.1 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
- · 支持代理仓库、宿主仓库和仓库组
- · 基于文件系统,不需要依赖数据库
- · 支持仓库索引以及搜索
- · 支持在界面上上传构件
- · 安全控制
1.2 Nexus安装
1.3 Nexus启动
- /app/module/nexus/bin/nexus start
1.4 Nexus访问
初始化四部曲
1.5 Nexus报错处理
1.6 配置Nexus仓库代理
配置nexus的中央仓库(加速jar包的下载以及缓存jar包)
滚动到最后面SAVE
2 Maven配置Nexus
2.1 修改setings.xml
2.2 测试打包
打包完以后,私仓已经出现依赖包
3 上传war包到Nexus
3.1 手动上传
3.1.1 解决releases同版本只能推送一次
snapshots推送多次相同版本的会覆盖,releases同一版本只允许推送一次
再次推送就会报错
保存退出,再次推送就会覆盖掉
3.2 配置pom打包自动推送
可不可以构建完自动上传
3.2.1 正式版本
pom中 <version>1.0</version>
3.2.2 快照版本
pom中 <version>1.0-SNAPSHOT</version>
如果推送多次
4 Nexus下载war包
wget --http-user=admin --http-passwd=123456 http://192.168.137.130/repository/maven-releases/com/itheima/web_demo/1.0/web_demo-1.0.war
5 Jenkins集成Nexus
5.1 Jenkins推送war包到Nexus
5.2 Jenkins从Nexus下载war包
5.2.1 安装插件
安装Maven Artifact ChoiceListProvider (Nexus)插件