本文介绍如何在Linux服务器通过Docker搭建Nexus私服
一、安装Nexus
1、创建存放数据的位置
# 进入个目录,这个你们随便 cd /srv # 创建个文件夹 mkdir nexus-data # 赋予权限,不然启动会报错,无操作权限 chmod 777 nexus-data
2、启动
执行以下命令即可,会自动拉取镜像并启动
docker run -d -p 8081:8081 --name nexus -v /srv/nexus-data:/nexus-data --restart=always sonatype/nexus3
通过docker logs -f nexus
查看启动日志,当出现Started Sonatype Nexus OSS
说明启动成功,这时通过http://ip:8081
即可访问
点击右上角Sign in进行登录,账号为admin
,密码需要去镜像中查看
# 进入镜像 docker exec -it nexus bash # 查看密码,路径在登录框会提示,然后复制即可,登陆成功后会让你修改密码 cat /nexus-data/admin-password
至此,就启动完成了,进入主页后点击左边菜单栏的Browse
即可查看你拥有的仓库啦
二、Nexus仓库
1、仓库类型
Nexus有四种仓库和四种仓库类型
a、仓库
仓库名
描述
maven-central
maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases
私库发行版jar
maven-snapshots
私库快照(调试版本)jar
maven-public
仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用
b、类型
类型
描述
group(仓库组类型)
用于方便开发人员自己设定的仓库
hosted(宿主类型)
内部项目的发布仓库(内部开发人员,发布上去存放的仓库)
proxy(代理类型)
从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)
virtual(虚拟类型)
虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)
2、拉取jar包流程
Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)
3、创建仓库
进过上面的讲解,我们对仓库已经有了了解,接下来我们进行创建仓库,分为是代理仓库(proxy)
、宿主仓库(hosted)
、仓库组(group)
,点击主页上面的小螺丝然后在选择Repositories
进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择maven2
a、proxy代理仓库
我们使用阿里的中央仓库
b、hosted宿主仓库
这里可以创建releases
和snapshot
类型的仓库,这里就演示一种
c、group仓库组
三、项目配置
前两章走完我们已经在Linux服务器部署好了nexus并且创建好了我们的仓库,接下来我们就来试着在项目中配置
1、创建一个Maven项目
为了演示,就随便创建个工具类玩,以下是目录结构
2、pom文件
这里为了演示我就配了release
仓库,实际上应该同时要配置snapshot
仓库,maven会判断版本后面是否带了-SNAPSHOT
,如果带了就发布到snapshots仓库,否则发布到release仓库
<"1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gjing</groupId> <artifactId>demo</artifactId> <version>1.0</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <distributionManagement> <repository> <!--ID可以随便写,但是要与maven的setting文件中一致--> <id>releases</id> <!--指向仓库类型为hosted(宿主仓库)的储存类型为Release的仓库----> <url>http://你nexus仓库的IP:8081/repository/me-release/</url> </repository> </distributionManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </build> </project>
3、maven配置setting文件
id一定要和项目pom文件中的一致
<servers> <server> <id>releases</id><!--对应项目pom文件中设置的--> <username>admin</username> <password>admin123</password> </server> </servers>
四、发布
如果使用的是IDEA开发工具可以直接在右边工具栏Maven工具点击deploy,也可以直接在命令行进入本项目根目录进行mvn deploy
这时nexus私服上也会出现我们的jar包
到此就发布成功啦
五、使用
让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库;另一种是通过修改maven的配置文件settings.xml进行更改,让所有项目都使用nexus仓库。我们这里采取第二种,只需要setting.xml就可以了。还有就是拉取jar的私服仓库地址只要写我们的仓库组就ok,因为在创建这个组的时候,里面已经包含了其它三个仓库
1、settings.xml文件
在maven的settings文件中找到mirrors
,加上我们组仓库的mirror
,url填写我们创建的组地址即可,id、name可以随便填写,mirrorOf可以和我写一样的
<mirrors> <mirror> <id>mynexus</id> <name>myself nexus repository</name> <url>http://xxx:8081/repository/me-group/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
2、验证
只需要在其他项目中pom文件引入即可,成功引入且在项目中可以正常使用我们刚刚定义的工具类
到此整个流程就结束啦,如果有任何问题可以在评论区告诉我哦!!!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 江志丰2012-七天[豪记][WAV+CUE]
- 黑鸭子2003《聆听柔情HQCD》[日本版][WAV+CUE]
- 群星《奔赴!万人现场 第5期》[FLAC/分轨][587.07MB]
- 关大洲《国家宝藏 第四季原声音乐 关大洲作品》[320K/MP3][109.49MB]
- 关大洲《国家宝藏 第四季原声音乐 关大洲作品》[FLAC/分轨][527.23MB]
- LOL双城之战大乱斗什么时候更新 双城大乱斗上线更新时间介绍
- s14全球总决赛冠军皮肤有什么 2024T1冠军皮肤选择一览
- faker加里奥s14决赛什么出装 faker加里奥s14决赛出装介绍
- 《马里奥与路易吉RPG:兄弟齐航》Fami通34分:路易吉存在感拉满
- 数据挖掘者新发现:NS继任机型或支持4K分辨率
- 宫本茂谈任天堂未来:研发费用增加但注重创意与传承
- 陈小云.2000-餐厅综艺金榜【海丽唱片】【WAV+CUE】
- 卓文萱.2008-翻滚吧!蛋炒饭电视原声带【滚石】【FLAC分轨】
- 顺子.2001-AND.MUSICS.THERE【EMI百代】【WAV+CUE】
- 《三国志8重置版》劝降机制介绍