Ced*_*Ced 5 npm gitlab docker gitlab-ci
如果需要使用npm安装私有存储库,则NPM_TOKEN需要设置环境变量.
NPM_TOKEN=00000000-0000-0000-0000-000000000000
Run Code Online (Sandbox Code Playgroud)
我在gitlab管道中的构建阶段需要安装一个私有存储库.因此我把这个NPM_TOKEN秘密变量放在我的gitlab pipeline设置中.
我目前的gitlab-ci配置:
image: x/node
build_job:
script:
- printenv NPM_TOKEN
- npm i @x/test
Run Code Online (Sandbox Code Playgroud)
docker图像就是我设置的.npmrc文件:
FROM node:latest
COPY .npmrc .
Run Code Online (Sandbox Code Playgroud)
我.npmrc在同一目录中的位置:
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
Run Code Online (Sandbox Code Playgroud)
我通过以下方式尝试了docker图像:
run -it myimage bash
export NPM_TOKEN=...
npm i @x/test
Run Code Online (Sandbox Code Playgroud)
这有效,私有包已安装.
但是在gitlab管道上它找不到包(404).当作业运行时,我可以清楚地看到NPM_TOKEN正在打印的env变量.所以我不知道发生了什么事.
Ced*_*Ced 12
我把gitlab-ci更改为:
image: dasnoo/node
build_job:
script:
- printenv NPM_TOKEN
- npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
- npm i @dasnoo/testpriv
Run Code Online (Sandbox Code Playgroud)
它的工作原理.不是为什么我不得不这样做
| 归档时间: |
|
| 查看次数: |
2932 次 |
| 最近记录: |