Linux使用docker搭建maven私有仓库
2021/8/7 7:06:15
本文主要是介绍Linux使用docker搭建maven私有仓库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
引言
在实际开发工作中,通常需要搭建maven私有仓库,今天就教大家如何搭建一套maven的私有仓库
Nexus介绍
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
安装docker
请参考笔者另一篇文章————物理机安装Centos系统
docker中安装nexus3
1. 拉取镜像
##在之前可以通过docker search nexus 命令搜索一下docker公有库在的 nexus相关的镜像 docker pull sonatype/nexus3
2. 建立数据储存文件夹
##建立数据存放文件夹,用于docker中nexus的数据与本地物理机映射 mkdir -p /usr/local/nexus3/nexus-data ##更改权限 chown 777 /usr/local/nexus3/nexus-data
3. 安装并运行容器
docker run -d -p 8081:8081 --name docker-nexus3 -v /usr/local/nexus3/nexus-data:/nexus-data sonatype/nexus3
安装完成
通过web访问管理端(记得配置防火墙):http://10.10.10.10:8081/
配置Nexus
密码配置
进入Nexus3主页后,点击右上角“Sign in”
提示输入密码,并告知你的密码储存位置
Your admin user password is located in /nexus-data/admin.password on the server.
因为docker中nexus3的数据储存位置与本地物理机建立了映射关系,所有在物理机上的地址应该是
/usr/local/nexus3/nexus-data/admin.password
配置阿里云代理仓库
- 新建仓库(Create repository)
- 选择maven2(proxy)
- 填写仓库名称——maven-aliyun,并填入仓库url
http://maven.aliyun.com/nexus/content/groups/public
- 将创建的maven-aliyun放入到maven-public中
创建项目私有库
- 创建两个仓库(使用maven2(hosted)类型的库),分别选择
Snapshot 和 Release
,命名为(java-snapshout 和 java-release) - 创建一个Group类型仓库,将java-release和之前创建的阿里代理库添加其为成员,当客户端拉取jar包的时候,会从阿里云和私有的release库中拉取(命名为java-group)
创建用户
- 创建角色(develop),并分配nx-all权限
- 创建用户(test),并授予develop角色
本地使用
修改本地maven配置文件(conf/setting.xml)
1.servers节点下添加以下内容(username和password为刚刚在nexus3中添加的用户和其密码)
<server> <id>nexus-xu</id> <username>test</username> <password>123456</password> </server> <server> <id>releases</id> <!--对应pom.xml的id=releases的仓库--> <username>test</username> <password>123456</password> </server> <server> <id>snapshots</id> <!--对应pom.xml中id=snapshots的仓库--> <username>test</username> <password>123456</password> </server>
2.mirrors节点下添加以下内容
<mirror> <id>nexus-xu</id>//对应上面的用户名和密码 <name>internal nexus repository</name> <!--镜像采用配置好的组的地址--> <url>http://10.10.10.10:8081/repository/java-group/</url> <mirrorOf>!internal.repo,*</mirrorOf> </mirror>
项目中发布
在pom中的project节点下配置如下内容
<distributionManagement> <repository> <!--id对应着maven的setting.xml中的用户账户--> <id>releases</id> <!-- 如果没有写xxx-SNAPSHOUT,默认发布到release --> <url>http://10.10.10.10:8081/repository/java-release/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://10.10.10.10:8081/repository/java-snapshot/</url> </snapshotRepository> </distributionManagement>
这篇关于Linux使用docker搭建maven私有仓库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程