首页 文章

在gitlab管道中安装私有npm包

提问于
浏览
2

如果需要install private repositories with npm,则需要设置环境变量 NPM_TOKEN .

NPM_TOKEN=00000000-0000-0000-0000-000000000000

我在gitlab管道中的构建阶段需要安装一个私有存储库 . 因此我把这个 NPM_TOKEN 秘密变量放在我的gitlab pipeline 设置中 .

我目前的gitlab-ci配置:

image: x/node

build_job: 
  script:
  - printenv NPM_TOKEN
  - npm i @x/test

docker镜像是我设置的一个 .npmrc 文件:

FROM node:latest
COPY .npmrc .

我在同一目录中的 .npmrc

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

我通过以下方式尝试了docker图像:

run -it myimage bash
 export NPM_TOKEN=...
 npm i @x/test

这有效,私有包已安装 .

但是在gitlab管道上它找不到包(404) . 当作业运行时,我可以清楚地看到正在打印的 NPM_TOKEN env变量 . 所以我不要't know what's .

1 回答

  • 5

    我把gitlab-ci更改为:

    image: dasnoo/node
    
    build_job: 
      script:
      - printenv NPM_TOKEN
      - npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
      - npm i @dasnoo/testpriv
    

    它的工作原理 . 不是为什么我不得不这样做

相关问题