搜索Nexus3镜像:[root@localhost ~]# docker search nexus
拉取Nexus3镜像:[root@localhost ~]# docker pull sonatype/nexus3
启动Nexus3前查看虚拟机端口是否被占用:[root@localhost ~]# netstat -nultp
通过Docker Hub查看安装步骤
添加docker自启动服务,具体启动命令如下:
docker run -d -p 8081:8081 --restart=always --name nexus sonatype/nexus3
当然也可以通过挂载宿主机方式安装,按需在网上找一些路径。到此安装结束了,登录地址如下:
http://192.168.56.100:8081/
第一次登录需要输入admin密码:
命令行登录容器内部: [root@localhost ~]# docker exec -it af765874d009 /bin/bash
cat /nexus-data/admin.password 查看密码。登录之后修改一下密码即可。
导航至 Repository-->Blob Stores,配置对象存储。
default是系统自带默认的,要注意的是这两个存储都需要设置大小限制,否则很容易把硬盘撑爆。
导航至 Repository-->Cleanup Policies,配置存储清理策略。
导航至 Repository-->Repositories,配置仓库。
仓库有三种类型,如下:
hosted如下:
Release 正式版本的 jar 包, POM模块声明的version如果包含snapshot字样则发布到snapshots,否则发布到releases库。例如:
Snapshot 测试版本 jar 包 ,POM模块声明的version如果包含snapshot字样则发布到snapshots,否则发布到releases库。例如:
group仓库如下:
maven-public
central
maven-public
http://192.168.56.100:8081/repository/maven-public/
在 maven 的配置文件 setting.xml 中已经配置了 aliyun 仓库,配置如下:
aliyun maven
aliyun
http://maven.aliyun.com/nexus/content/groups/public/
*
默认是所有的请求都会转到阿里云下载,但是有些依赖包又不在 aliyun 仓库,其实开发在pom.xml 是指定了依赖包的仓库地址的,因为以上的配置将所有依赖包的下载都拦截,转到了阿里云,关键就在于 mirroOf
的配置。
以下是关于 mirrorOf
字段的配置
* = 表示拦截所有请求,使用该仓库
external:* = 表示本地仓库的中没有的依赖才会使用该仓库
central = 表示拦截去中央仓库的请求,使用该仓库
# setting.xml不做任何配置时就是使用的中央仓库,也就是maven官方仓库https://repo.maven.apache.org/maven2
*,!repo_id = 除repo_id这个依赖包外,其他依赖都是用该仓库
repo1,repo2 = 表示只有 repo1 和 repo2 的依赖包才会使用该仓库,会代替pom的配置
开发在 pom 中是配置了依赖包的指定仓库的,如下
getui-nexus
http://mvn.gt.igexin.com/nexus/content/repositories/releases/
如果此时 getui-nexus 依赖包无法下载,报错 Cannot resolve com.gexin.platform:gexin-rp-sdk-http:4.1.1.4
,修改 maven 配置文件。
aliyun maven
aliyun
http://maven.aliyun.com/nexus/content/groups/public/
*,!getui-nexus
此时再进行构建,下载 getui-nexus 依赖包则不会从阿里云仓库下载,会从项目的pom里面找仓库下载。
或者
aliyun maven
aliyun
http://maven.aliyun.com/nexus/content/groups/public/
central
Maven访问仓库顺序
本地仓库—>私服(profile)—>远程仓库(repository)—>镜像仓库(mirror)—>中央仓库(central)
简化一下范围,一共分为本地、私服、远程3中仓库类型,远程、镜像、中央仓库都属于时远程仓库优先级为 本地>私服>远程。
利用Spring官网模板创建Springboot项目:
Springboot项目pom.xml文件如下:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.7.14-SNAPSHOT
com.xuhuan
springboot-demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
false
maven-releases
maven-releases
http://192.168.56.100:8081/repository/maven-releases/
false
maven-snapshots
maven-snapshots
http://192.168.56.100:8081/repository/maven-snapshots/
最后清理,打包,发布到Nexus私服。