首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过package.json在NPM中使用gitlab repo

如何通过package.json在NPM中使用gitlab repo
EN

Stack Overflow用户
提问于 2017-04-06 15:44:28
回答 1查看 6.2K关注 0票数 7

我正在做一个内部项目,想在组内分享一个工具。

但如果我使用npm工具。它要么请求模块已经在npm网站上注册,要么请求公共git repo。

我用的是gitlab。并且有一个私有令牌。我试着在package.json中这样写,但是它不起作用。

有没有办法在授权的情况下安装私有的gitlab repo?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-04-06 16:11:28

如果我理解正确的话,您希望运行npm的CI管道能够从gitlab中提取一个私有项目作为依赖项。

在这种情况下,您可以使用gitlab中的deploy keys机制(请参阅here)。

首先生成SSH密钥对。为此,您可以使用ssh-keygen -t rsa

然后转到私有存储库的gitlab页面并找到Deploy Keys设置。在这里,您应该粘贴刚刚生成的公钥。

然后转到在其配置项中运行npm的项目,并找到Variables页面。例如,创建一个名为SSH_PRIVATE_KEY的新私有变量,并将生成的私钥粘贴到该变量中。

最后,在您的.gitlab-ci.yml文件中添加以下内容,以便您的CI环境可以使用您的私钥:

代码语言:javascript
复制
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

现在应该设置您的CI环境,以便in可以提取您的私有存储库。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43248815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档