通过nexus3部署公司内部的私有npm仓库:从安装到配置、从发布包到测试包的一条龙服务

简介: 登录时使用默认用户admin,密码不知道就需要找默认的,点击Sign in时会提示你路径,这里我是这样查的,在linux服务器上输入以下命令

image.png


前言: 准备工作,可能需要一台linux服务器,或者直接在mac上进行安装,或者window上的docker使用。我这里的话自己有一台云服务器,所以还挺方便的。


1、nexus3安装


1.1、github开源地址


github.com/sonatype/do…


1.2、linux上安装


  • 1.2.1、查看docker镜像


docker search nexus


通过在linux上执行search 便可以查看到可以安装的镜像


image.png


  • 1.2.2、拉取docker镜像


docker pull sonatype/nexus3


找到上面STARS最多的,应该也就是使用最多的进行拉取镜像


  • 1.2.3、创建并运行容器


docker run -d -p 8081:8081 --name nexus sonatype/nexus3


创建并运行docker容器,如果端口和防火墙已经设置,便可以通过如下命令进行测试


curl http://127.0.0.1:8081


如果能看到html文件则说明部署成功了,同样便可以通过外网访问了


image.png


2、nexus3网站配置


2.1、 登录


登录时使用默认用户admin,密码不知道就需要找默认的,点击Sign in时会提示你路径,这里我是这样查的,在linux服务器上输入以下命令


find / -name 'admin.password'
vim /var/lib/docker/volumes/8390ba0696e5fb161bc65f779dab7a192fc0e807929ea59f49805bedec2157b9/_data/admin.password


image.png


直接将vim后 里面的字符串进行复制,复制当做密码就可以登录了,登录后进行修改密码


2.2、创建Blob Stores


image.png


输入类型


image.png


下拉选择类型 【File】,然后输入【name】,name就是一个字符串而已,最后Save即可。


2.3、创建npm Repositories


image.png


点击[Create repository],以此可以选择npm的三个


image.png


  • 2.3.1、创建 hosted,先选择[npm(hosted)]


image.png


这里的name是我自己写入的一个字符串 Blob store则是我们上面添加的npm,下面的直接选择默认的,最后点击Create repository.


  • 2.3.2、 创建proxy,先选择[npm(proxy)]


image.png


Name: 输入一个字符串就可以 Remote storage: registry.npmjs.orgMaximum component age: 设置-1 Blog store: 选择之前添加的 npm 主要就这四个设置,设置完毕之后就点击最下方的[Create repository]


  • 2.3.3、 创建group,先选择[npm(group)]


image.png


Name:输入一个字符串就可以 Blob store: 选择之前添加的npm Member repositories: 将添加的hosted和proxy都添加到右侧 主要是这三个设置,然后Create repository


2.4、 创建用户


image.png


输入如图所示的信息,添加权限角色,最后Create local user


2.5、开启token权限认证


image.png


从左侧菜单中点击[ReaIms],然后从[Active realms]中选择[npm Bearer Token ReaIm]到右侧后,保存即可。


3、本地添加npm源


// 将私有npm仓库添加到本地,这样npm安装的时候如果有使用到其他npm包,会先 
nrm add anpm http://139.159.245.209:8081/repository/npm-group/
// 设置anpm为当前仓库源
nrm use anpm
nrm ls
查看


这里重点强调一下:npm-group中其实是包含npm-hosted和npm-proxy,npm-proxy的目的是保证我们自己的npm包中使用其他的npm包可以通过代码进行下载使用。而npm-hosted主要目的就是为了下载我们自己发布的npm包。


4、在本地登录


image.png


跟在npmjs.com发布是一样的,同样要先npm login,然后再npm publish


这里可以发现,我的登录仓库源还没有修改过来,我当时设置的是npm-hosted,所以导致最后测试包的时候,在客户端进行安装下载包的时候就会报错


image.png


这里的仓库源一定要设置成[npm-group]。


5、发布


image.png

image.png


  • 网址查看


image.png


6、最后本地测试


// package.json
"bin": {
    "create-ak-vue": "./bin/vue.js",
    "create-ak-vite": "./bin/vite.js"
},


两个文件中的代码比较简单


image.png


然后安装成全局


npm i aehyok-cli -g


image.png


7、总结


  • neuxs3可以说是一键就将npm私服生成了,然后自己根据需求进行少量的配置就可以使用了,非常棒。
  • 管理上也有权限安装进行控制。
  • 以及到最后体验直接使用,整个过程可以说是非常流畅,虽然自己也遇到了很多问题,但大部分都是自己不熟悉导致的。
目录
相关文章
|
10月前
|
Dubbo 应用服务中间件 API
使用 Apifox、Postman 测试 Dubbo 服务,Apache Dubbo OpenAPI 即将发布
Apache Dubbo 3.3.3(即将发布)实现了与 OpenAPI 的深度集成,通过与 OpenAPI 的深度集成,用户能够体验到从文档生成到接口调试、测试和优化的全流程自动化支持。不论是减少手动工作量、提升开发效率,还是支持多语言和多环境,Dubbo 3.3.3 都展现了其对开发者体验的极大关注。结合强大的 Mock 数据生成和自动化测试能力,这一版本为开发者提供了极具竞争力的服务治理解决方案。如果你正在寻找高效、易用的微服务框架,Dubbo 3.3.3 将是你不容错过的选择。
922 248
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章介绍了npm的基础知识和常用命令,包括安装包、查看包信息、管理依赖等操作,并提供了如何删除npm安装的镜像以及如何彻底删除node_modules文件夹的具体步骤。
311 2
|
5月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
254 0
|
7月前
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
678 9
|
10月前
|
JavaScript
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
1616 27
|
10月前
|
存储 资源调度 JavaScript
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具。npm 是官方默认的包管理器,提供依赖管理、安装和更新等功能;cnpm 是由阿里巴巴开发的 npm 镜像,专为中国大陆用户优化,解决下载速度慢的问题;pnpm 通过硬链接技术提高安装速度并节省磁盘空间,特别适合磁盘资源紧张的环境。三者命令类似,但各有特色,开发者可根据需求选择合适的工具。
1071 5
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
413 3
npm学习一:npm 包管理工具 学习、使用。
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
336 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
410 3
|
缓存 JavaScript 前端开发
拿下奇怪的前端报错(三):npm install卡住了一个钟- 从原理搞定安装的全链路问题
本文详细分析了 `npm install` 过程中可能出现的卡顿问题及解决方法,包括网络问题、Node.js 版本不兼容、缓存问题、权限问题、包冲突、过时的 npm 版本、系统资源不足和脚本问题等,并提供了相应的解决策略。同时,还介绍了开启全部日志、使用替代工具和使用 Docker 提供 Node 环境等其他处理方法。
9679 2

推荐镜像

更多
  • NPM
  • 下一篇
    oss云网关配置