首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ubuntu部署和体验Nexus3

Ubuntu部署和体验Nexus3

作者头像
程序员欣宸
发布于 2020-03-18 09:21:55
发布于 2020-03-18 09:21:55
1.5K00
代码可运行
举报
文章被收录于专栏:实战docker实战docker
运行总次数:0
代码可运行

关于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

  1. apt更新:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get update
  1. 安装curl:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get install -y curl
  1. 安装docker:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://get.docker.com | sh
  1. 安装完成后执行命令docker version检查docker是否正常;

部署Nexus3

  1. 创建工作目录并赋权限:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
  1. 下载Nexus镜像并创建容器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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版本;

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

登录和操作Nexus3

  1. 在控制台执行以下命令,即可获得Nexus3的初始密码:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo `docker exec nexus cat /nexus-data/admin.password`

我这里得到的是2c9c5399-d0da-48ec-9050-dc4f43cede10 2. 点击下图右上角红框中的Sign in,进入登录页面:

3. 登录页面如下图,账号admin,密码是刚才获取的2c9c5399-d0da-48ec-9050-dc4f43cede10:

4. 登录成功会提示修改密码,如下图,请修改:

5. 是否运行匿名访问,这里勾选上:

角色和账号

在实际使用中,为了安全起见,不能让每个用户使用admin账号,您可以先创建角色,按实际需要给角色增加各种权限,再创建此角色下的账号:

  1. 点击下图红框中的按钮,进入设置页面:
  1. 下图红框中是角色管理页面的链接,您可以按照实际情况创建角色:
  1. 这里为了简化操作就不新建角色了,而是创建一个管理员角色的账号bolingcavalry,操作如下图所示:

至此,Nexus3部署完毕,接下来验证Nexus能否提供jar缓存的功能;

准备两台电脑验证Nexus服务

接下来验证的是Nexus缓存中央仓库jar包的能力,看看有了Nexus,能否让我们在开发和构建过程中更快的下载到所需jar;

  1. 另外准备两台电脑,分别是A电脑和B电脑,用来验证刚刚部署的Nexus3可以缓存中央仓库的jar包(您也可以用虚拟机创建两台电脑);
  2. A、B两台电脑都已经装好了JDK8和Maven3;
  3. 如下图,在仓库列表页面,点击下图红框位置,可以得到maven-central仓库的地址http://192.168.50.75:8081/repository/maven-central/:

修改两台电脑的maven配置文件

电脑A和电脑B上的maven目录下的conf/settings.xml文件都要做以下修改:

  1. 找到servers节点,增加以下内容:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<server>
 <id>maven-central</id>
 <username>bolingcavalry</username>
 <password>888888</password>
</server>
  1. 找到mirrors节点,增加以下内容,其中url的内容就是前面得到的maven-central仓库地址:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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都要从中央仓库下载,我们来试试:

  1. 登录A电脑,下载spring-cloud-alibaba的2.1.1.RELEASE归档包:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
  1. 解压下载的文件:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -zxvf v2.1.1.RELEASE.tar.gz
  1. 进入解压后的目录:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd spring-cloud-alibaba-2.1.1.RELEASE/
  1. 编译:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn clean compile -U -DskipTests
  1. 编译完成,如下图红框所示,本次编译耗时9分27秒:
  1. 去Nexus网页上看看,如下图,此时已经缓存了不少jar:

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
群晖DS218+做maven私服(nexus3)
本人是个Java工程师,在家里撸代码时台式机、笔记本、虚拟机都可能用来编译构建maven项目,此时如果家里有个maven私服,对构建速度的提升效果是明显的;
程序员欣宸
2020/05/26
1.5K0
Nexus3常用功能备忘
本文聚焦nexus3的使用,不在此讨论部署的细节,推荐使用docker来部署,我这里是在一台家用NAS上通过docker部署的,详情可参考《群晖DS218+做maven私服(nexus3)》
程序员欣宸
2020/05/26
1.4K0
使用Docker基于Nexus3快速搭建Maven私有仓库
启动容器并将宿主机/usr/local/nexus-data(目录需要提前创建)目录映射到容器/nexus-data目录,这样就可以保存容器产生的文件了,具体请百度查询docker相关信息。 安装完成。
吟风者
2019/11/22
4.7K3
Nexus搭建Maven私有仓库
访问 http://192.168.2.132:8081 进入登录界面 使用默认管理员身份登录,帐号:admin,密码:上一步得到的密码
大忽悠爱学习
2022/08/23
1.3K0
Nexus搭建Maven私有仓库
研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共享这些类库呢?一种很好的方式就是在公司内部搭建一套Maven私服仓库。
冰河
2023/12/21
1.3K1
研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
本地私服仓库nexus3.3.1使用手册
私服架构 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服
小柒2012
2018/04/16
8.5K0
本地私服仓库nexus3.3.1使用手册
Maven 私服 Nexus3
采用一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。
BUG弄潮儿
2021/04/26
9961
使用Nexus做java,nodejs的制品库和内网加速
开发团队可以自动完成该项目的基础设施建设, maven使用标准的目录结构和默认构建生命周期;
iginkgo18
2021/09/09
2.1K0
Maven私服Nexus3.x环境构建操作记录
Maven介绍 Apache Maven是一个创新的软件项目管理和综合工具。 Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。 Maven最强大的功能就是能够自动下载项目依赖库。 Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复
洗尽了浮华
2018/01/23
9.3K1
Maven私服Nexus3.x环境构建操作记录
【开发日记】使用Docker搭建Maven私服
Maven私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。
全栈开发日记
2023/10/22
6040
【开发日记】使用Docker搭建Maven私服
Maven使用教程二:nexus私服搭建及使用
1.打开命令行,切换到nexus-3.2.1-01/bin目录下,回车。例:C:\Nexus\nexus-3.2.1-01\bin 2.输入:nexus.exe/run,并回车 3.执行后出现以下信息表示安装成功:
一枝花算不算浪漫
2019/11/20
5.2K0
部署maven及Nexus私服
Maven是属于apache软件基金会下一个开源免费的项目,是跨平台的项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理,可以在代码进行部署的过程中自动解决项目中代码的依赖环境,需要从maven的镜像仓库中进行下载依赖环境,通常下载比较慢,企业中会在公司内部搭建nexus(私服),将构建项目中的依赖环境保存到nexus服务器中,提高访问速度。
小手冰凉
2020/05/06
3.1K0
基础架构之Maven私有库
主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。
低代码布道者
2022/08/09
9120
基础架构之Maven私有库
掌握 Maven 私服
在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖,因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的三大方面进行介绍:
闻人的技术博客
2019/09/19
2.9K0
掌握 Maven 私服
Maven系列第5篇:私服详解
整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。
路人甲Java
2019/11/14
1.9K0
Maven系列第5篇:私服详解
超简单部署使用Maven私库 Nexus
通过Log in登录,默认账户是admin,第一次密码是在admin.password文件中,登录后会要求你修改密码
全栈程序员站长
2022/09/09
1.3K0
使用 Docker 搭建私有软件仓库 Nexus 3
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/03/08
8250
使用 Docker 搭建私有软件仓库 Nexus 3
Docker安装Nexus3私服以及使用
nexus的全称是Nexus Repository Manager,是Sonatype公司的一个产品。它是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。
全栈程序员站长
2022/09/14
4.9K1
Docker安装Nexus3私服以及使用
使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
 Nuget 是免费、开源的包管理工具,专注于在 .Net、.Net Core 平台应用开发过程中第三方组件库的管理,相对于传统单纯的 dll 引用要方便、科学得多。  其中 nuget.org 是最著名的 NuGet 公开库,但是企业内部开发的(业务)公共组件因为私密性或商业机密不能上传到公共库中,所以企业内部需要搭建一个私有的 NuGet 仓库【私服】来支持。虽然微软有提供的 NugetServer,但 NugetServer 用起来并不那么方便。  而且企业有可能不止使用 C# 一种语言,可能其他的语言组件也需要管理,比如:Java、Docker 镜像 等,NugetServer 就捉襟见肘,本文我给大家带来一款全能型的私服软件 Nexus。
心莱科技雪雁
2019/04/22
6.3K0
使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
【Maven】008-Maven 私服搭建与使用
Maven私服(Repository Manager)是一个用于管理和分发构建制品(如JAR、WAR、POM文件等)的服务器。它允许团队在本地搭建一个中央存储库,用于保存和分享项目构建所需的依赖项。一些常见的Maven私服产品包括 Nexus、Artifactory 和 Apache Archiva 。
訾博ZiBo
2025/01/06
3170
【Maven】008-Maven 私服搭建与使用
相关推荐
群晖DS218+做maven私服(nexus3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档