什么是 verdaccio-activedirectory-extended
verdaccio-activedirectory-extended 是一个针对 verdaccio 搭建的私有 npm 仓库的插件,使用该插件可以将前端项目中的依赖包存储在私有 npm 仓库中,方便团队内部、外部共享。此外,verdaccio-activedirectory-extended 还支持通过 Active Directory 进行用户认证来访问私有 npm 仓库,提高了安全性。
安装 verdaccio-activedirectory-extended
在项目的根目录下使用 npm 安装 verdaccio-activedirectory-extended :
npm install verdaccio-activedirectory-extended --save-dev
插件安装完毕后,在 verdaccio 的配置文件 config.yml
中添加以下内容:
-- -------------------- ---- ------- ----- ------------------------- ---- ------------------------ ------- ------------------- --------- ------------- ---- -------------------------------- --------- ---------- ------------------- ---- - -------- ----------- - -------- - -------- - ---- ----- ---- ---- -- ------- --- ------ ---------------- - -------- - -------- - ----- ----- ---- ---- -- ------- --- ------- ------------------------- ---- - -------- - --- --- --------- -- ---- -- ------- ------ ------- ----- --------- ------- ------- ---- -------- -------------- ------ ----- ----- ------- ---- -------- -------------- ------ ----- - -------- --- ---------------- - -------- ----- --- ----- ----- -- --------- ------- ---- --- -------------
测试 verdaccio-activedirectory-extended
通过以下命令启动 verdaccio 服务:
npx verdaccio
访问 http://localhost:4873
可以看到 verdaccio 首页。
使用以下命令登录 verdaccio:
npm login --registry http://localhost:4873 --scope=@myorg
使用以下命令发布包:
npm publish --registry http://localhost:4873 --scope=@myorg
登录时输入的用户名和密码,即为 Active Directory 中的用户名和密码。发布包时使用 --scope
指定包名的前缀,这里的前缀为 @myorg
。已登录用户发包时需要指定该前缀,这样其他用户才不能访问到该包。
持续集成
将项目中的依赖包存储在私有 npm 仓库中,可以统一管理依赖,避免因为 CI/CD 不同步导致的构建失败等问题。在 CI/CD 流水线中可以使用以下命令来 Add credentials 到 .npmrc 文件中:
npm config set @myorg:registry http://localhost:4873 npm config set '//localhost:4873/:_authToken' "${AUTH_TOKEN}"
其中 AUTH_TOKEN
是通过使用 CI/CD 服务提供的密钥来获取的。这样在 CI/CD 流水线中可以通过 npm install
来下载以 @myorg
前缀开头的依赖包。
总结
verdaccio-activedirectory-extended 提供了一种方便、安全的方式,管理前端项目的依赖包。使用该插件可以将依赖包存储在私有 npm 仓库中,提高安全性;同时使用 Active Directory 进行用户认证,进一步提高了私有 npm 仓库的安全性。在 CI/CD 流水线中,通过设置 .npmrc
文件和提供 CI/CD 服务提供的密钥,可以方便地使用私有 npm 仓库中的依赖包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600668fad9381d61a3540ff8