自动化部署之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的安装

(1)下载Nexus
[[email protected] ~]# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.5-02-bundle.tar.gz
--2017-12-25 10:45:42--  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|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73187012 (70M) [application/octet-stream]
Saving to: ‘nexus-2.14.5-02-bundle.tar.gz’
 5% [=======>                                                                                                                                            ] 4,375,805   76.4KB/s  eta 12m 59s

(2)解压Nexus
[[email protected] ~]# tar -zxvf nexus-2.14.5-02-bundle.tar.gz
[[email protected] ~]# mv nexus-2.14.5-02 sonatype-work /data/ 

(3)启动Nexus
[[email protected] ~]# cd /data/nexus-2.14.5-02
[[email protected] nexus-2.14.5-02]# ls
bin  conf  lib  LICENSE.txt  logs  nexus  NOTICE.txt  tmp
[[email protected] nexus-2.14.5-02]# cd bin/
[[email protected] 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.
[[email protected] bin]# export RUN_AS_USER=root
[[email protected] bin]# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[[email protected] bin]# netstat -tulnp |grep 8081
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      4773/java
(4)浏览器访问仓库
浏览器访问: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配置

[[email protected] ~]# vim /data/apache-maven-3.5.2/conf/settings.xml 
将其中的仓库链接地址修改为:
http://192.168.56.12:8081/nexus/content/groups/public/

这样在构建时,首次会从阿里云的maven仓库中下载插件,后面再次重新下载插件时会从本地进行下载。

时间: 2024-10-29 13:03:55

自动化部署之Maven的私有仓库Nexus的相关文章

抗忙,,建个MAVEN的私服仓库-NEXUS

公司最近需求越来越上轨道,MAVEN的私服仓库-NEXUS构架起来哟.. 参考文档URL: http://www.linuxidc.com/Linux/2011-07/39578p3.htm http://www.cnblogs.com/dingyingsi/p/3776557.html http://blog.csdn.net/kimylrong/article/details/23280155 http://blog.linguofeng.com/archive/2012/08/10/mav

自动化部署java maven项目到多个目标主机的Shell脚本

本篇是<Linux Shell脚本之远程自动化部署java maven项目>的姊妹篇,但包含了bug.issue修正和添加了更多的支持特性,可以从GitHub上获取最新脚本内容:https://github.com/DingGuodong/AutomaticDeployJavaMavenProject . 自动化部署java maven项目到多个主机的环境条件假设: 1.java maven项目至多有一个依赖项目 2.多个目标主机上的部署目录是相同的 支持特性: 1.在部署主机上将java m

对docker私有仓库nexus做https

背景 开启 HTTPS 方式大概分为两种,一种为Nexus 服务本身开启代理,另外一种使用 Nginx 进行反向代理实现 HTTPS, 由于我使用的方式是使用 Docker 进行的Nexus 的配置, 故使用第二种方式 Nginx反向代理实现各个仓库的 HTTPS. 操作 一.制作自签证书 使用https://github.com/Fishdrowned/ssl,使用脚本自动生成需要的域名证书.(需要在hosts文件给定域名的解析地址) [[email protected] ~]# cat /e

自动化部署必备技能—搭建YUM仓库

目录 1. YUM仓库介绍 1.1 YUM是什么 1.2 YUM源是什么? 1.3 YUM源工作原理 2. YUM安装步骤 3. YUM服务配置文件及命令介绍 3.1 yum主配置文件yum.conf 3.2 yum命令使用. 4. 镜像同步公网yum源 1. YUM仓库介绍 参考博文:http://blog.oldboyedu.com/autodeploy-yum/ YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就

自动化部署必备技能——搭建YUM仓库

yum主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源.网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败.特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受.因此我们在优化系统时,都会更换国内的源. 相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性.有了局域网中

Git+Spring-boot+Docker+ Maven +Registry私有仓库 +jenkins 持续集成测试

转自: http://blog.csdn.net/lsgqjh/article/details/72597786

在Maven的配置文件中,自定义私有仓库地址和设置下载的jar包的保存位置

在Maven的settings.xml,可以设置Maven的私有仓库的地址,还可以设置所下载jar包在自己电脑的保存地址(默认不设置保存在个人文件夹的.m2文件夹下). 1.设置私有仓库地址: <mirror> <id>central</id> <name>nexus_local_central</name> <mirrorOf>central</mirrorOf> <url>http://IP:8081/ne

NPM私有包部署到私有仓库

NPM私有包部署到私有仓库1.项目部署到NPM2.私有仓库的搭建1,项目部署到NPM注册NPM账号注册地址:https://www.npmjs.com/ 注册完成后进入邮箱验证 账号登录 npm login 登录成功用 npm who am i 进行验证 初始化npm库 npm init 然后依次输入相应的参数,其中version必填,最后生成的pagkage如下图 在pagkage同级写一个测试文件,向外暴露接口 至此,一个npm包创建完成 发布共有NPM包 npm publish 发布成功之

利用Fabric+Capistrano实现Python自动化部署

Fabric是一个用于应用(批量)部署和系统(批量)管理的Python库和命令行工具,关于Fabric的介绍请参考:http://www.fabfile.org/. Capistrano是一个用Ruby语言编写的远程服务器自动化和部署工具,关于Capistrano的介绍请参考:http://capistranorb.com/. 本文仅使用Python语言和部分Linux或Windows系统命令,借助Fabric模块和Capistrano的部署思路,实现在Linux平台和Windows平台的自动化