概述
想了解Linux安装Nexus3可以看官方文档,这里说一下docker的方式如何安装配置。
安装Nexus
-
搜索
nexus
镜像 -
拉取镜像
docker pull sonatype/nexus3
-
查看镜像是否拉取下来
-
创建nexus的挂载地址并授权
# 创建挂载地址 mkdir /usr/local/nexus # 给文件夹授权 chmod chmod -R 777 /usr/local/nexus # 后台运行nexus并挂载出来 docker run -d -p 8081:8081 --name nexus3 -v /usr/local/nexus:/nexus-data sonatype/nexus3
-
访问Nexus(默认账号:admin,密码在admin.password文件里面)
配置nexus
-
这些仓库默认就会存在的,你可以直接使用这些仓库,或者修改一下也可以。为了配置自己的仓库我们需要先删掉自带的仓库。
-
Blob Stores介绍
repositor是需要以Blob格式存储的。默认的Blol Stores是基于文件系统的,你可以把它理解为一个目录可以通过
Repository
>Blob Store
来管理存储媒介,可以看到下面的默认存储名default
,类型File的Blob Store
Blob Stores参数如下:参数 含义 Name Blob Stores的名称,是唯一的 Type 类型,一般为File State 状态 Blob count Blob数目 Total size 现在该存储目录的大小 Available space 可用的空间,就是存储目录所在分区的磁盘剩余空间 -
新建Blob Store
点击Repository
>Blob Store
>Create blob store
- Type: 这个有
File
和S3
两个选项,这里选File就行。 - Name: 名字随便起吧,我的叫
aen-blob
- Enable Soft Quota: 这个是限制目录的大小。这边就不限制了。你要是限制的话就勾上并填入上限的条件和限制的值就好了。
- Path:就是个路径,在填入Name的时候就会自动生成
最后点击
Create blob store
就好了 - Type: 这个有
-
创建hosted类型的仓库
这个仓库主要放一些自己封装的工具类,自己手动构建上传的包,或者中央仓库找不到的包
hosted有两种类型的maven仓库分别为snapshot
和release
,那么该如何区分了?
snapshot:顾名思义快照的意思,所以一般放一些不稳定的库,一天能修改好几次代码的库。
release:公开,发行。所以这个一般放的都是比较稳定的发行版本 -
创建release发行库
点击Repository
>Repositories
>Create repository
,选择maven2(hosted)。
-
Name: 随便起一个名字吧,maven-releases-aen
-
Online: 勾选,设置这个仓库是在线还是离线
-
Maven2:
Version Policy: 版本策略,三个选择分别为:
Release:正式版本
Snapshot:快照版本
Mixed:混合模式
这里选择Release
。Layout Policy:布局策略
Strict:严格
Permissive:宽松
这里选择默认的Strict
。 -
Storage:
Blob store:选择此仓库使用的Blob存储,这里选择之前创建的aen-blob。
Strict Content Type Validation:验证上传内容格式,这里不勾选。 -
Hosted:
Deployment Policy:部署策略,三个选择分别为:
Allow Redeploy:允许重新部署
Disable Redeploy:禁止重新部署
Read-Only:只读因为是release发行库,这里选
Disable Redeploy
。
-
-
创建snapshot快照库
和创建release发行库一样,点击Repository
>Repositories
>Create repository
,选择maven2(hosted)。
-
创建一个代理(proxy类型) 仓库
点击Repository
>Repositories
>Create repository
,选择maven2(proxy)。
- Proxy: http://maven.aliyun.com/nexus/content/groups/public
- 看上图,其它的都是默认设置
-
创建一个组(group类型)仓库
点击Repository
>Repositories
>Create repository
,选择maven2(gruop)。
组里里面顺序建议阿里云的代理仓库放第一,因为maven代理仓库下载顺序是从上往下的,建议将速度快的仓库放在最前面。
验证测试
-
假装你们都有
jdk
和maven
环境了,修改maven里面的设置比如我的D:apacheapache-maven-3.5.4confsettings.xml
。记得备份一下这个文件不然修改错了就麻烦了。<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--本地仓库地址--> <localRepository>D:m2repository</localRepository> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> <server> <id>nexus-aen</id> <username>admin</username> <password>Nexus2020</password> </server> <server> <id>releases</id> <username>admin</username> <password>Nexus2020</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>Nexus2020</password> </server> </servers> <mirrors> <mirror> <id>nexus-aen</id> <name>internal nexus repository</name> <!--镜像采用配置好的组的地址--> <url>http://192.168.31.236:8081/repository/maven-public-aen/</url> <mirrorOf>!internal.repo,*</mirrorOf> </mirror> </mirrors> <profiles> <profile> <!--ID用来确定该profile的唯一标识--> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> <profile> <id>nexus-pro</id> <!-- 远程仓库列表 --> <repositories> <repository> <id>nexus</id> <name>Nexus Central</name> <!-- 虚拟的URL形式,指向镜像的URL--> <url>http://192.168.31.236:8081/repository/maven-public-aen/</url> <layout>default</layout> <!-- 表示可以从这个仓库下载releases版本的构件--> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> </releases> <!-- 表示可以从这个仓库下载snapshot版本的构件 --> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> <!-- 插件仓库列表 --> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus Central</name> <url>http://192.168.31.236:8081/repository/maven-public-aen/</url> <layout>default</layout> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus-pro</activeProfile> <activeProfile>jdk-1.8</activeProfile> </activeProfiles> </settings>
-
在需要打包的pom文件里面添加
distributionManagement
属性<!-- 使用分发管理将本项目打成jar包,直接上传到指定服务器 --> <distributionManagement> <!--正式版本--> <repository> <!-- nexus服务器中用户名:在settings.xml中<server>的id--> <id>releases</id> <!-- 这个名称自己定义 --> <name>Release repository</name> <url>http://192.168.31.236:8081/repository/maven-releases-aen/</url> </repository> <!--快照--> <snapshotRepository> <!-- nexus服务器中用户名:在settings.xml中<server>的id--> <id>snapshots</id> <!-- 这个名称自己定义 --> <name>Snapshots repository</name> <url>http://192.168.31.236:8081/repository/maven-snapshots-aen/</url> </snapshotRepository> </distributionManagement>
-
在打包上传之前我们先看一下maven-public-aen和maven-releases-aen库
-
打包只需要点点点就好了
-
现在我们再来看一下maven-public-aen和maven-releases-aen库
好了到这里我们的maven仓库就搭建测试完成了
参考地址:
https://help.sonatype.com/repomanager3
https://hub.docker.com/r/sonatype/nexus3/
https://blog.csdn.net/wc1695040842/article/details/102575686
最后
以上就是调皮八宝粥为你收集整理的Docker+Nexus3搭建自己的Maven仓库安装Nexus配置nexus验证测试的全部内容,希望文章能够帮你解决Docker+Nexus3搭建自己的Maven仓库安装Nexus配置nexus验证测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复