Ubuntu部署和体验Nexus3

简介: 在局域网部署了Nexus之后,可以缓存中央仓库的jar,开发的二方库发布到Nexus上,局域网内的其他人也可以从Nexus下载这些二方库使用,本文就来实战快速部署和验证docker下的nexus3搭建

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos

关于Nexus

  • 如下图,在局域网部署了Nexus之后,可以缓存中央仓库的jar,开发的二方库发布到Nexus上,局域网内的其他人也可以从Nexus下载这些二方库使用:

在这里插入图片描述

环境信息

  • 本次实战是在Linux服务器上通过Docker安装Nexus3:
  1. 操作系统:Ubuntu 18.04.3 LTS
  2. Docker:19.03.5
  3. Nexus:3.19.1

Ubuntu安装docker

  • apt更新:
apt-get update
  • 安装curl:
apt-get install -y curl
  • 安装docker:
curl -sSL https://get.docker.com | sh
  • 安装完成后执行命令docker version检查docker是否正常;

部署Nexus3

  • 创建工作目录并赋权限:
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
  • 下载Nexus镜像并创建容器:
docker run -d \
-p 8081:8081 \
--name nexus \
-v /usr/local/work/nexus-data:/nexus-data \
sonatype/nexus3:3.19.1
  • 上述命令的参数较多,有几点需要注意:

a. 容器的8081端口映射到宿主机的8081端口;
b. 容器名为nexus;
c. 容器的/nexus-data/目录被映射到宿主机的/usr/local/work/nexus-data/;
d. 镜像是sonatype官方的3.19.1版本;

  • 等待容器创建成功后,Nexus3即部署成功;

登录和操作Nexus3

  • 在控制台执行以下命令,即可获得Nexus3的初始密码:
echo `docker exec nexus cat /nexus-data/admin.password`
  • 我这里得到的是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节点,增加以下内容:
<server>
 <id>maven-central</id>
 <username>bolingcavalry</username>
 <password>888888</password>
</server>
  • 找到mirrors节点,增加以下内容,其中url的内容就是前面得到的maven-central仓库地址:
<mirror>
 <id>maven-central</id>
 <mirrorOf>*</mirrorOf>
 <url>http://192.168.50.75:8081/repository/maven-central/</url>
</mirror>

在A电脑上编译构建项目(应该很慢)

  • 在A电脑上编译开源项目spring-cloud-alibaba,此时Nexus上没有缓存任何jar包,所以编译速度会很慢,因为所有依赖jar都要从中央仓库下载,我们来试试:
  • 登录A电脑,下载spring-cloud-alibaba的2.1.1.RELEASE归档包:
wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
  • 解压下载的文件:
tar -zxvf v2.1.1.RELEASE.tar.gz
  • 进入解压后的目录:
cd spring-cloud-alibaba-2.1.1.RELEASE/
  • 编译:
mvn clean compile -U -DskipTests
  • 编译完成,如下图红框所示,本次编译耗时9分27秒:

在这里插入图片描述

  • 去Nexus网页上看看,如下图,此时已经缓存了不少jar:

在这里插入图片描述

在B电脑上编译构建项目(应该很快)

  • 在B电脑做同样的操作,此时Nexus上已缓存了编译所需的jar包,所以整个编译过程应该明显变快,最终操作结果如下图所示,仅用了1分零6秒:

在这里插入图片描述

  • 至此,Ubuntu上部署和体验Nexus3的实战就完成了,如果您正在寻求简单快捷的Nexus部署方案,希望本文能给您一些参考。

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
10月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1808 1
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
715 12
|
Ubuntu 安全 Docker
Ubuntu下部署及操作Docker技巧
以上就是在Ubuntu下部署及操作Docker的具体步骤。但这只是冰山一角,Docker的魅力远不仅如此。你可以将其视为存放各种工具的小箱子,随时随地取用,极大地提升工作效率。你也可以私人订制,适应不同的开发环境,就像一个拥有各种口味冰淇淋的冰箱,满足各种各样的需求。好了,现在你已经掌握了基本的Docker运用技巧,快去尝试使用吧!记住,沉浸在探索中,你会找到无尽的乐趣和满满的收获。
617 23
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
444 3
Ubuntu系统下部署flatpress轻量级博客系统
|
存储 关系型数据库 文件存储
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
这篇文章是关于如何在Ubuntu 22.04LTS上使用cephadm工具快速部署Ceph Reef(18.2.X)存储集群的详细教程,包括ceph的基本概念、集群的搭建步骤、集群管理以及测试集群可用性等内容。
4782 8
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
|
Ubuntu 数据安全/隐私保护
Ubuntu22.04LTS环境部署实战
这篇文章提供了Ubuntu 22.04 LTS操作系统的详细安装步骤,包括选择语言、键盘布局、网络配置、软件源设置、磁盘分区、安装OpenSSH服务以及完成安装和首次登录系统的过程。
9531 6
Ubuntu22.04LTS环境部署实战
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
2028 3
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
676 1
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
1590 5
|
Kubernetes Ubuntu 网络安全
Ubuntu基于kubeadm快速部署K8S实战
关于如何在Ubuntu系统上使用kubeadm工具快速部署Kubernetes集群的详细实战指南。
1011 3