通过nexus3部署公司内部的私有npm仓库

news2024/12/27 13:07:12

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

​编辑

image.png

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

  • linxu服务器
  • 测试npm包的源代码:github.com/aehyok/ak-c…

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/779119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins报警机制的配置与Linux的使用总结

先在钉钉中添加一个机器人 在Configure System中找到机器人选项,并且复制webhook到网络钩子,然后添加机器人的编号、名称和关键词,然后点击测试,如果显示测试成功则表示配置成功,最后保存 再到配置中勾选顶顶机器人的定…

19.matlab数据分析插值(matlab程序)

1.简述 数据插值的计算机制 数据插值是一种函数逼近的方法。 一维插值 Y1interp1(X,Y,X1,method) 二维插值 interp2():二维插值函数。 调用格式: Z1interp2(X,Y,Z,X1,Y1,method) 其中,X、Y是两个向量,表示两个参数的采样点, Z是采样点对应的函数值。X1…

flutter开发实战-Stagger Animation实现水波纹动画

flutter开发实战-实现水波纹动画,使用到了交织动画,实现三个圆逐渐放大与渐变的过程。 一、效果图 二、实现水波纹效果 实现水波纹动画,使用到了交织动画,实现三个圆逐渐放大与渐变的过程。 交织动画 有些时候我们可能会需要一些…

一种具有改进的反向导通、击穿和开关特性的新型4H-SiC沟道MOSFET

标题:A New 4H-SiC Trench MOSFET With Improved Reverse Conduction, Breakdown, and Switching Characteristics 阅读日期:2023.07.23 研究了什么 该文提出并通过TCAD模拟研究了一种带有集成MOS通道二极管(MCD)的SiC MOSFET&a…

性能测试Ⅵ(总结)

locust:是基于Python语言的性能测试工具,它是基于协程的思想来进行设计的。Python语言是没有办法利用多核的优势,所以了Python为了解决这个问题,设计了协程,作为协程的任务,遇到IO堵塞就立刻切换。 生命是协…

FFmpeg5.0源码阅读—— avcodec_send_frame avcodec_receive_packet

摘要:本文主要描述了FFmpeg中用于编码的接口的具体调用流程,详细描述了该接口被调用时所作的具体工作。   关键字:ffmpeg、avcodec_send_frame、avcodec_receive_packet   读者须知:读者需要了解FFmpeg的基本使用流程&#xf…

AQS概述

基本介绍 队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架。 使用了一个int成员变量(volatile int state)表示同步状态,通过内置的FIFO队列来完成资源获取…

【NLP】如何使用Hugging-Face-Pipelines?

一、说明 随着最近开发的库,执行深度学习分析变得更加容易。其中一个库是拥抱脸。Hugging Face 是一个平台,可为 NLP 任务(如文本分类、情感分析等)提供预先训练的语言模型。 本博客将引导您了解如何使用拥抱面部管道执行 NLP 任务…

不写代码开启Restful服务

1 前言 很久没有写文章了,不管什么原因,总觉得心里还是觉得有点焦虑,不看看书写点东西就有莫名的焦虑,仿佛只有忙起来才能忘记焦虑。虽然我也知道更重要的是思考方向,但是就像走路,不出发随着时间的流逝&am…

MacBook外接键盘修改键位

众所周知,MacBook的键盘和Windows差别很大,比如我们最常用的ctrlcv在Mac下是commandcv…而外接键盘往往是Windows布局,因此如何修改外接键盘键位就是一件很重要的事情! 首先,我们要知道Win键在Mac系统中是多余的&…

微服务一 实用篇 - 5.分布式搜索引擎(ElasticSearch基础)

《微服务一 实用篇 - 5.分布式搜索引擎(ElasticSearch基础)》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《微服务一 实用篇 - 5.分布式搜索引擎(ElasticSearch基础)》 《微服务一 实用篇 - 5.分布式搜索…

mysql悲观锁与乐观锁、死锁

mysql悲观锁与乐观锁、死锁 乐观锁的缺点 这个策略源于 mysql 的 mvcc 机制,使用这个策略其实本身没有什么问题,主要的问题就是**对数据表侵入较大,我们要为每个表设计一个版本号字段,然后写一条判断 sql 每次进行判断&#xff…

k8s Service网络详解(一)

有关K8s网络的几个概念 Service:服务 Endpoint:端点 Ingress:和Service类似,基于OSI(Open System Interconnection)网络模型的七层协议数据(如HTTP)的转发 Kube Proxy&#xff1…

155、基于STM32单片机老人防跌倒摔倒GSM短信报警系统ADXL345加速度设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图 六、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 单片机主芯片选…

【C语言初阶】指针的运算or数组与指针的关系你了解吗?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 指针运算💭 指针-整数💭 指针-指针💭 指针…

类和对象(中)--运算符重载

目录 1.运算符重载①运算符重载的概念②日期类和运算符重载 2.赋值运算符重载3. 流插入运算符<<重载4.Date类实现5.const成员6.取地址及const取地址操作符重载 1.运算符重载 大家有没有想过内置类型可以使用的运算符是否自定义类型的成员变量也可以使用呢&#xff1f; …

pyqt5-多行文本区QTextEdit实现鼠标滚轮调整文本大小

核心 在 PyQt5 中&#xff0c;你可以通过处理鼠标滚轮事件来设置 QTextEdit 的字体大小。具体做法是在 QTextEdit 上重新实现 wheelEvent 方法&#xff0c;并根据滚轮方向调整字体大小。 代码 import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5…

MATLAB 最小二乘法拟合直线点云 方法一 (26)

MATLAB 最小二乘法拟合直线点云 方法一 (26) 一、算法简介二、算法实现1.代码(详细注释)2.结果展示2.1 拟合效果可视化2.2 对比拟合系数与实际值一、算法简介 提供一组点云(x1 y1 )(x2 y2 )(x3 y3 )…等等多个点… 算法自动拟合直线方程 二维点云的直线方程为:y=kx+…

Mac 预览(Preview)丢失PDF标注恢复

感谢https://blog.csdn.net/yaoyao_chen/article/details/127462497的推荐&#xff01; 辛苦用预览在pdf上做的阅读标记&#xff0c;关闭后打开全丢失了&#xff0c;推荐尝试下网站导入文件进行恢复&#xff1a; 直接使用该网页应用PDF Annotation Recovery 或者访问该项目&a…

在 Windows 中通过 WSL 2 高效使用 Docker

大家好&#xff0c;我是比特桃。平时开发中&#xff0c;不免会使用一些容器来跑中间件。而开发者使用的操作系统&#xff0c;大多是Mac OS 、Windows。Docker 为了兼顾这两个平台的用户&#xff0c;推出了 Docker Desktop 应用。Docker Desktop 中的内核还是采用了 Linux 的内核…