在gitlab管道中安装私有npm包

时间:2017-07-11 14:49:45

标签: docker npm gitlab gitlab-ci

如果需要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变量。所以我不知道该怎么做。

1 个答案:

答案 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

它有效。不是为什么我不得不这样做