私有化轻量级持续集成部署方案--07-私有NPM仓库-Verdaccio

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

提示:本系列笔记全部存在于
Github
可以直接在
Github 查看全部笔记

对于个人来说,私有NPM仓库 作用性基本很小,但是对于企业,私有NPM仓库 可以保护代码暴露,具有很大的意义。

也是为了学习搭建 私有NPM仓库,就在持续部署中集成了私有仓库。

开源社区,有两个广泛使用的 私有NPM仓库 项目:

  1. Sinopia
  2. Verdaccio

Sinopia 项目官方于2019年已经不再维护,也就是现在已经不在推荐使用此项目。

Verdaccio 项目是从 Sinopia项目 fork 出来的,官方声称 100% 向后兼容 Sinopia

Verdaccio 目前也就成了最普遍的 私有NPM仓库 的解决方案。

Verdaccio

Verdaccio 概述

Verdaccio 是一个 Node 创建的轻量的私有 npm proxy registry

Verdaccio 中最强大的两个功能是 上行链路包身份权限

Verdaccio 部署

Docker Compose 文件

VerdaccioDocker Compose 文件比较简单,主要是配置数据挂载


version: '3.9'

services:
  verdaccio:
    image: verdaccio/verdaccio:5.5
    container\_name: verdaccio
    restart: always
    ports:
      - '4873:4873'
    volumes:
      - /volumes/verdaccio/conf:/verdaccio/conf
      - /volumes/verdaccio/storage:/verdaccio/storage
      - /volumes/verdaccio/plugins:/verdaccio/plugins

config.yaml

Verdaccio 项目提供了一个配置文件: config.yaml

默认情况下 Verdaccio 会在首次运行时创建此文件。

但因为使用了 宿主目录 挂载数据,所以需要预先创建此文件。

# 包存储地址
storage: /verdaccio/storage

# 插件存储地址
plugins: /verdaccio/plugins

# UI相关信息
web:
 enable: true # 开启 Web 页面
 title: Verdaccio  # Web 页面标题

# 身份认证
auth:
 htpasswd:                           # 默认情况下使用的 htpasswd 插件作为身份认证
   file: /verdaccio/conf/htpasswd # htpasswd 文件为加密认证信息文件
   max\_users: -1                     # 最大用户数量, -1 表示禁用新用户注册

# 上行链路
uplinks:
 npmjs:                                    # 上行名称,随便定义
   url: https://registry.npmjs.org/        # 上行地址
   timeout: 30s                            # 超时时间

                         
 taobao:                                   # 上行名称
   url: https://registry.npm.taobao.org/   # 上行地址
   timeout: 30s                          

# 包访问设置, 可以根据名称对包做不同权限设置
packages:
 '@*/*':
   access: $authenticated                # 登录用户才允许访问
   publish: $authenticated               # 登录用户才允许发布
   proxy: taobao                         # 代理上行链路地址

 '**':
   access: $authenticated                # 登录用户才允许访问
   publish: $authenticated               # 登录用户才允许发布
   proxy: taobao                         # 代理上行链路地址

server:
 keepAliveTimeout: 30                    # 服务器保持活动链接的时间,较大的包可能会消耗一定时间,此属性就是设置活动链接时间

middlewares:
 audit:
   enabled: true

# 日志
logs: { type: stdout, format: pretty,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值