Tom*_* Li 4 npm gitlab package.json
我正在开发一个内部项目,想要在组内共享工具.
但如果我使用npm工具.它要么模块已经在npm网站上注册或公共git repo.
我正在使用gitlab.并且有一个私人令牌.
git+https://gitlab-ci-token:\<private token>@<domain>/<username>/<repo_name>.git
我试图在package.json中这样说,但它不起作用.
有没有办法用授权安装私人gitlab仓库?
非常感谢.
如果我正确理解您的问题,您希望运行npm的CI管道能够从您的gitlab中提取私有项目作为依赖项.
在这种情况下,您可以在gitlab中使用部署密钥机制(参见此处).
首先生成SSH密钥对.你可以用ssh-keygen -t rsa它.
然后转到私有存储库的gitlab页面并找到该Deploy Keys设置.在那里,您应该粘贴刚刚生成的公钥.
然后转到在其CI中运行npm的项目并找到该Variables页面.使用名称创建一个新的私有变量,SSH_PRIVATE_KEY并粘贴您在那里生成的私钥.
最后,在您的.gitlab-ci.yml文件中添加以下内容,以便您的私钥可供CI环境使用:
- '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'
Run Code Online (Sandbox Code Playgroud)
现在应该设置您的CI环境,以便可以拉出您的私有存储库.
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |