Ubuntu 部署和体验 Nexus3
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于 Nexus
如下图,在局域网部署了 Nexus 之后,可以缓存中央仓库的 jar,开发的二方库发布到 Nexus 上,局域网内的其他人也可以从 Nexus 下载这些二方库使用:
环境信息
本次实战是在 Linux 服务器上通过 Docker 安装 Nexus3:
操作系统:Ubuntu 18.04.3 LTS
Docker:19.03.5
Nexus:3.19.1
Ubuntu 安装 docker
apt 更新:
安装 curl:
安装 docker:
安装完成后执行命令 docker version 检查 docker 是否正常;
部署 Nexus3
创建工作目录并赋权限:
下载 Nexus 镜像并创建容器:
上述命令的参数较多,有几点需要注意:a. 容器的 8081 端口映射到宿主机的 8081 端口;b. 容器名为 nexus;c. 容器的/nexus-data/目录被映射到宿主机的/usr/local/work/nexus-data/;d. 镜像是 sonatype 官方的 3.19.1 版本;
等待容器创建成功后,Nexus3 即部署成功;
登录和操作 Nexus3
在控制台执行以下命令,即可获得 Nexus3 的初始密码:
我这里得到的是 2c9c5399-d0da-48ec-9050-dc4f43cede10
点击下图右上角红框中的 Sign in ,进入登录页面:
登录页面如下图,账号 admin ,密码是刚才获取的 2c9c5399-d0da-48ec-9050-dc4f43cede10 :
登录成功会提示修改密码,如下图,请修改:
是否运行匿名访问,这里勾选上:
角色和账号
在实际使用中,为了安全起见,不能让每个用户使用 admin 账号,您可以先创建角色,按实际需要给角色增加各种权限,再创建此角色下的账号:
点击下图红框中的按钮,进入设置页面:
下图红框中是角色管理页面的链接,您可以按照实际情况创建角色:
这里为了简化操作就不新建角色了,而是创建一个管理员角色的账号 bolingcavalry,操作如下图所示:
至此,Nexus3 部署完毕,接下来验证 Nexus 能否提供 jar 缓存的功能;
准备两台电脑验证 Nexus 服务
接下来验证的是 Nexus 缓存中央仓库 jar 包的能力,看看有了 Nexus,能否让我们在开发和构建过程中更快的下载到所需 jar;
另外准备两台电脑,分别是 A 电脑和 B 电脑,用来验证刚刚部署的 Nexus3 可以缓存中央仓库的 jar 包(您也可以用虚拟机创建两台电脑);
A、B 两台电脑都已经装好了 JDK8 和 Maven3;
如下图,在仓库列表页面,点击下图红框位置,可以得到 maven-central 仓库的地址http://192.168.50.75:8081/repository/maven-central/:
修改两台电脑的 maven 配置文件
电脑 A 和电脑 B 上的 maven 目录下的 conf/settings.xml 文件都要做以下修改:
找到 servers 节点,增加以下内容:
找到 mirrors 节点,增加以下内容,其中 url 的内容就是前面得到的 maven-central 仓库地址:
在 A 电脑上编译构建项目(应该很慢)
在 A 电脑上编译开源项目 spring-cloud-alibaba,此时 Nexus 上没有缓存任何 jar 包,所以编译速度会很慢,因为所有依赖 jar 都要从中央仓库下载,我们来试试:
登录 A 电脑,下载 spring-cloud-alibaba 的 2.1.1.RELEASE 归档包:
解压下载的文件:
进入解压后的目录:
编译:
编译完成,如下图红框所示,本次编译耗时 9 分 27 秒:
去 Nexus 网页上看看,如下图,此时已经缓存了不少 jar:
在 B 电脑上编译构建项目(应该很快)
在 B 电脑做同样的操作,此时 Nexus 上已缓存了编译所需的 jar 包,所以整个编译过程应该明显变快,最终操作结果如下图所示,仅用了 1 分零 6 秒:
至此,Ubuntu 上部署和体验 Nexus3 的实战就完成了,如果您正在寻求简单快捷的 Nexus 部署方案,希望本文能给您一些参考。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/91430a997cbe050a1765425b4】。文章转载请联系作者。
评论