Gitlab+Jenkins学习之路(十二)之Maven的私有仓库Nexus
1、什么是Nexus?
在前面进行maven项目的构建中,可以看到在构建的过程中需要安装maven的依赖插件,如图:
而在maven的默认配置中是在官网的中央仓库和第三方的maven仓库进行下载,速度偏慢。这里提供阿里云的maven插件库(http://maven.aliyun.com/nexus/#view-repositories),可以在/data/apache-maven-3.5.2/conf/settings.xml 配置文件中进行修改。
在日常的开发构建中,我们也可以自己搭建一个私有的nexus。那么什么是nexus呢?
Nexus是maven的私有仓库;
如果没有nexus,项目的打包都需要在公网下载,不利于包的管理和共用;
如果没有私有仓库,我们所需要的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队的所有人都需要重复地从maven仓库中下载构件。
2、Nexus的安装
()下载Nexus
[root@linux-node2 ~]# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.5-02-bundle.tar.gz
---- ::-- https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.5-02-bundle.tar.gz
Resolving sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)... 151.101.228.249
Connecting to sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)|151.101.228.249|:... connected.
HTTP request sent, awaiting response... OK
Length: (70M) [application/octet-stream]
Saving to: ‘nexus-2.14.--bundle.tar.gz’
% [=======> ] ,, .4KB/s eta 12m 59s ()解压Nexus
[root@linux-node2 ~]# tar -zxvf nexus-2.14.--bundle.tar.gz
[root@linux-node2 ~]# mv nexus-2.14.- sonatype-work /data/ ()启动Nexus
[root@linux-node2 ~]# cd /data/nexus-2.14.-
[root@linux-node2 nexus-2.14.-]# ls
bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp
[root@linux-node2 nexus-2.14.-]# cd bin/
[root@linux-node2 bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.
[root@linux-node2 bin]# export RUN_AS_USER=root
[root@linux-node2 bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[root@linux-node2 bin]# netstat -tulnp |grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /java ()浏览器访问仓库
浏览器访问:http://192.168.56.12:8081/nexus,如图:
点击右上角"login" 默认用户名密码:admin ,admin123
在仓库中,默认会在本地去查找插件,当未发现有插件时,会通过第三方仓库查到,这些仓库的类型都是hosts类型,也就是在本机进行查询。
当本地内未能查找到相应的插件,会通过代理(proxy)类型进行下载插件,配置就在Central——>Remote Storage Location(回源地址),这里我们填写阿里云的maven远程仓库进行下载
http://maven.aliyun.com/nexus/content/groups/public/
配置完成nexus后,在修改maven的settings配置
[root@linux-node2 ~]# vim /data/apache-maven-3.5./conf/settings.xml
将其中的仓库链接地址修改为:
http://192.168.56.12:8081/nexus/content/groups/public/
这样在构建时,首次会从阿里云的maven仓库中下载插件,后面再次重新下载插件时会从本地进行下载
Gitlab+Jenkins学习之路(十二)之Maven的私有仓库Nexus的更多相关文章
- Gitlab+Jenkins学习之路(二)之gitlab部署
1.安装依赖及gitlab [root@linux-node1 ~]# yum install -y curl policycoreutils openssh-server openssh-clien ...
- Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat
一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践
目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...
- Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline
一.Jenkins按角色授权 当一个公司的开发分为多个组别,或者是多个项目等等.用于公司内部测试,让开发人员自行构建测试,此时不可能让所有的开发都在公用一个构建,这样变得很混乱,为了解决这一问题,je ...
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
- Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布
一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...
- Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布
思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
- Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群
一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用 ...
随机推荐
- Entity Framework的几种初始化器
Database.SetInitializer<TContext>(new NullDatabaseInitializer<TContext>()); Database.Set ...
- String使用equals和==比较的区别
"==" 操作符的作用: 1.用于基本数据类型的比较 2.判断引用是否指向堆内存的同一块地址. equals的作用: 用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相 ...
- Linux ss命令详解
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息 ...
- Linux alias命令详解
alias:内置命令(没有路径),设置命令的别名,保护系统,方便 unalias:别名取消 常用的命令展示 临时设置 alias cp='cp –i' unalias cp 取消系统的别命令 ...
- C++实现一个Vector3空间向量类(转)
转自:http://www.2cto.com/kf/201311/260139.html ector2,3,4类在DirectX中都有现成的可以调用,不过要实现其中的功能其实也不难,也都是一些简单的数 ...
- springmvc处理日期格式
解决http400错误 通常有两个来源: 1 页面的下拉列表中传入了字符串,而服务器需要的是Integer类型的,所以服务器拒绝. 2, 浏览器传给服务器端的日期格式字符串,服务器端理解不了,所以需要 ...
- 超强IIS站点工具一键设置PHP,支持多个PHP同时运行
PHPWAMP8.8.8.8IN支持三大主流Web服务器:iis.apache.nginx NGINX站点管理.IIS站点管理.Apache站点管理均支持php多版本同时运行,无限自定义mysql.p ...
- 【洛谷】【treap/堆】P2073 送花
[题目描述:] 这些花都很漂亮,每朵花有一个美丽值W,价格为C. 小明一开始有一个空的花束,他不断地向里面添加花.他有以下几种操作: 操作 含义 1 W C 添加一朵美丽值为W,价格为C的花. 3 小 ...
- asp.net Web API简单的特性路由配置
一,控制器代码: [RoutePrefix("ajilisiwei")] //加URL前缀 (非必需) public class ShoppingController : ...
- mac 安装npm
npm是什么 NPM的全称是Node Package Manager ,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. 如何安装 一:如果你安装了Homebrew ...