架构师成长之路-docker 搭建maven私服企业开发平台

为什么要搭建maven私服平台?

1,因为大企业和规范化的平台和数据安全比较高的企业都是在涉密桌面开发,或者局域网开发,maven私服是企业一个很重要的jar管理平台和方式。

企业开发都有自己的jar管理平台,通常分为4个维度。

本地快照仓库:本地项目测试快照环境

本地Release仓库:本地仓库

代理仓库:第三方仓库:阿里云,maven仓库

组合仓库:统一管理本地快照仓库,本地Release仓库,代理仓库

2,企业级开发都是有自己的产品,所以对安全性要求比较高,局域网开发,涉密桌面开发,为了安全和统一管理选择maven私服。

3,企业私服走自己的局域网,下载速度比外网快,不用每次都下载这一点好处是不错的,速度就像docker镜像下载那么快。

4,企业有自己研发的产品jar包快照信息。

maven私服平台流程:

架构师成长之路-docker 搭建maven私服企业开发平台_第1张图片编辑搜图

开发人员根据配置maven仓库地址拉取maven仓库地址,配置私服地址,maven私服地址是外网地址和内网仓库的桥梁。

基于Docker搭建Maven私服

1. 下载一个nexus3的镜像

docker pull sonatype/nexus3

架构师成长之路-docker 搭建maven私服企业开发平台_第2张图片

2.      将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。

docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

正式规范后编写Docker Compose编排容器 启动容器管理。

3 启动成功查看容器运行

docker ps

访问页面

http://192.168.192.133:8081/

架构师成长之路-docker 搭建maven私服企业开发平台_第3张图片编辑搜图

第一次进来需要让你查看密码

架构师成长之路-docker 搭建maven私服企业开发平台_第4张图片编辑搜图

查找密码:

find / -name 'admin.password'

架构师成长之路-docker 搭建maven私服企业开发平台_第5张图片

用户名是admin:

密码:cat /var/lib/docker/volumes/0391c87f4724fdb949f41e87069a1e13e69d106e1dde2fa461130da423504132/_data/admin.password

第一次会提示你修改

架构师成长之路-docker 搭建maven私服企业开发平台_第6张图片

创建四个仓库:远程仓库,本地仓库,私服仓库,分组仓库

架构师成长之路-docker 搭建maven私服企业开发平台_第7张图片编辑搜图

架构师成长之路-docker 搭建maven私服企业开发平台_第8张图片编辑搜图

创建本地快照仓库-也就是测试jar包存放的仓库

架构师成长之路-docker 搭建maven私服企业开发平台_第9张图片编辑搜图

创建本地Release仓库

架构师成长之路-docker 搭建maven私服企业开发平台_第10张图片编辑搜图

创建代理仓库

架构师成长之路-docker 搭建maven私服企业开发平台_第11张图片编辑搜图

创建分组仓库:

架构师成长之路-docker 搭建maven私服企业开发平台_第12张图片编辑搜图

创建完成:

架构师成长之路-docker 搭建maven私服企业开发平台_第13张图片

那现在我们看一个jar包都没有怎么办?

架构师成长之路-docker 搭建maven私服企业开发平台_第14张图片

不慌我们写个脚本批量上传本地的jar包到maven私服仓库,这一步很关键。

批量写入本地仓库jar包到maven私服

1,把本地仓库的jar压缩

架构师成长之路-docker 搭建maven私服企业开发平台_第15张图片

2,上传到linux目录里面解压

unzip repository.zip

架构师成长之路-docker 搭建maven私服企业开发平台_第16张图片编辑搜图

3,创建批量导入maven脚本

 touch mavenimport.sh

4,写入脚本内容

#!/bin/bash
#复制并运行此脚本到包含文件的存储库目录的根目录
#这个脚本循环调用maven上传jar的api url
while getopts ":r:u:p:" opt; do
	case $opt in
		r) REPO_URL="$OPTARG"
		;;
		u) USERNAME="$OPTARG"
		;;
		p) PASSWORD="$OPTARG"
		;;
	esac
done

find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

注意:a,一定要给权限

           b,脚本最好创建在maven仓库里面,不然会报no such file这样的问题

5,赋予脚本权限

chmod a+x mavenimport.sh

当前目录执行脚本:

./mavenimport.sh -u admin -p 你的密码 -r http://192.168.192.133:8081/repository/xy-release/

这里已经在疯狂地上传了,说明成功了。这里需要几分钟时间,因为仓库的jar包很大。

架构师成长之路-docker 搭建maven私服企业开发平台_第17张图片编辑搜图

这里上传成功了。

架构师成长之路-docker 搭建maven私服企业开发平台_第18张图片

查看我们的私服地址里面的jar包。是不是很nice

架构师成长之路-docker 搭建maven私服企业开发平台_第19张图片编辑搜图

手动上传的方式:

架构师成长之路-docker 搭建maven私服企业开发平台_第20张图片编辑搜图

总结:

仓库搭建好了,那就很简单了后面直接把本地maven的路径配置为分组仓库地址,配置私服的地址就行了。

你可能感兴趣的:(项目部署发布,架构师专栏,java,maven,maven私服,docker搭建maven私服,maven私服批量上传jar包)