gpt4 book ai didi

npm - 如何在 NPM 中使用带有 package.json 的 gitlab 存储库

转载 作者:行者123 更新时间:2023-12-04 22:56:34 24 4
gpt4 key购买 nike

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

但如果我使用 npm 工具。它要么要求模块已在 npm 网站或公共(public) git repo 上注册。

我正在使用 gitlab。并且有一个私有(private) token 。
git+https://gitlab-ci-token:\<private token>@<domain>/<username>/<repo_name>.git
我试着把它放在 package.json 中
但它不起作用。

有没有办法通过授权安装私有(private) gitlab 存储库?

多谢。

最佳答案

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

在这种情况下,您可以使用 gitlab 中的部署 key 机制(参见 here)。

首先生成一个 SSH key 对。您可以使用 ssh-keygen -t rsa为了那个原因。

然后进入私有(private)仓库的gitlab页面,找到Deploy Keys环境。您应该在那里粘贴您刚刚生成的公钥。

然后转到在其 CI 中运行 npm 的项目并找到 Variables页。创建一个名为 SSH_PRIVATE_KEY 的新私有(private)变量例如并粘贴您在那里生成的私钥。

最后,在您的 .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'

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

关于npm - 如何在 NPM 中使用带有 package.json 的 gitlab 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43248815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com