安装
docker-compose
081端口是nexus的访问端口,8082端口用于代理dockerhub
version: '3.8'
networks:
common:
external:
name: mynet
services:
nexus3:
image: sonatype/nexus3:latest
container_name: nexus3
restart: always
networks:
common:
ipv4_address: 192.168.0.12
ports:
- 8081:8081
- 8082:8082
volumes:
- ./data:/nexus-data
持久化:
持久目录 用于配置, 日志和存储。此目录需要可由 Nexus 写入 进程,以 UID 200 的形式运行。
/nexus-data
mkdir /some/dir/data && chown -R 200 /some/dir/data
配置
访问localhost:8081即可访问
第一次登录时,账号为admin,密码位于/nexus-data/admin.password文件中
仓库配置
Nexus3功能介绍_nexus3汉化_普通网友的博客-CSDN博客
上传第三方jar包
发布到私服仓库
如何上传至内网私服?比如Dubbox,Maven中央仓库或者阿里云的库都是不存在的,还有就是公司内部的一些插件,总不能开放出去吧?
这个问题,也是花了不少的时间研究。nexus3版本以后,突然就没了第三方jar上传入口,也是醉了,这么好的功能居然被阉割了。抱着试试看的态度,搜遍了互联网,然并卵,只有一下命令可以解决。
以下是windows下bat命令脚本,以dubbxo为例
@TITLE 第三方JAR包上传
call mvn deploy:deploy-file^
-DgroupId=com.alibaba^
-DartifactId=dubbo^
-Dversion=2.8.4^
-Dpackaging=jar^
-DgeneratePom=true^
-DrepositoryId=nexus^
-Dfile=D:\maven\dubbo-2.8.4.jar^
-Durl=http://192.168.1.129:8081/nexus/repository/maven-releases
@pause
复制
脚本中call的意思是,执行完毕后不要关闭窗口,对于失败信息,我们可以进行检查;
^符号是为了命令换行用的,如果不加命令会依次执行,导致无法正常执行;Durl就是私服仓库地址(发布版)。
参数file表示需要安装的第三方jar包在本地的路径;
参数groupId用于定义该jar包安装后的groupId;
参数artifactId用于定义该jar包安装后的artifactId;
参数version用于定义该jar包安装后的版本;
参数packaging用于定义该jar包安装后的打包类型。
比如,以上脚本我可以把D:mavendubbo-2.8.4.jar上传到远程私服仓库。
之后我们在Maven项目中我们就可以根据定义好的groupId、artifactId、version和packaging类型来添加这里定义好的dubbo-2.8.4.ja的引用了。
发布到本地仓库
脚本如下:
@TITLE 第三方JAR包上传
call mvn install:install-file^
-DgroupId=com.alibaba^
-DartifactId=dubbo^
-Dversion=2.8.4^
-Dpackaging=jar^
-DgeneratePom=true^
-DrepositoryId=nexus^
-Dfile=D:\maven\dubbo-2.8.4.jar^
@pause