通过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私服生成了,然后自己根据需求进行少量的配置就可以使用了,非常棒。
  • 管理上也有权限安装进行控制。
  • 以及到最后体验直接使用,整个过程可以说是非常流畅,虽然自己也遇到了很多问题,但大部分都是自己不熟悉导致的。
目录
相关文章
|
1月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
51 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
21天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
21 1
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
70 4
|
1月前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
66 1
|
1月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
137 0
|
JavaScript
NPM 包管理
1. 设置代理 1). 设置代理 npm config set proxy http://server:port npm config set https-proxy http://server:port 2).
1452 0
|
5月前
|
前端开发
windows10 安装node npm 等前端环境 并配置国内源
windows10 安装node npm 等前端环境 并配置国内源
334 3
|
1月前
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
33 0
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor
该博客文章提供了解决在使用npm版本7.19.1时出现的"no such file or directory"错误的具体方法,建议通过降级npm到6.14.8版本来解决问题,并确认了该方法可以成功安装node_modules。
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor
|
3月前
|
缓存 JavaScript 前端开发
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
这篇文章介绍了如何解决npm版本与Node.js版本不兼容的问题,提供了查看当前npm和Node.js版本的步骤,以及如何根据Node.js版本选择合适的npm版本并进行升级的详细指导。
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】

推荐镜像

更多