如果需要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}
我通过以下方式尝试了码头图像:
run -it myimage bash
export NPM_TOKEN=...
npm i @x/test
这样可行,私有包已安装。
然而,在gitlab管道上,它找不到包(404)。当作业运行时,我可以清楚地看到正在打印的NPM_TOKEN
env变量。所以我不知道该怎么做。
答案 0 :(得分:9)
我将gitlab-ci更改为:
image: dasnoo/node
build_job:
script:
- printenv NPM_TOKEN
- npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
- npm i @dasnoo/testpriv
它有效。不是为什么我不得不这样做