微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 docker 中验证 npm 私有注册表

如何解决在 docker 中验证 npm 私有注册表

我们将范围内的 js 包发布到私有注册表(由我们使用 Verdaccio 管理)。

这意味着在我们的生产环境中,我们需要对我们的私有注册表进行身份验证才能使用 yarn install。最简单的方法是什么?

解决方法

更漂亮的解决方案 (IMO)

切换到纱线浆果(纱线 v2)

Migration guide

在 .yarnrc.yml 中使用环境变量:

yarnPath: ".yarn/releases/yarn-berry.cjs"
nodeLinker: node-modules
npmScopes:
  customScope:
    npmRegistryServer: ${NPM_REGISTRY}
    npmAlwaysAuth: true
    npmAuthToken: ${NPM_TOKEN}

设置环境变量值

#docker-compose.yml
version: '3.7'
services:
  server:
    image: node:14
    environment:
      NPM_REGISTRY=https://private-registry
      NPM_TOKEN=PUT_YOUR_TOKEN_HERE
    ports:
      - "3000:3000"
    volumes:
      - .:/var/app
    command: "yarn run dev"

您也可以将环境变量放在 .env 文件中并将其添加到 .gitignore

测试

  1. 添加范围包

    docker-compose run --rm server yarn add @customScope/test-package

  2. 安装

    docker-compose run --rm server yarn install

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。