gpt4 book ai didi

git - 在 Jenkins 上安装 npm 期间访问私有(private)存储库

转载 作者:太空狗 更新时间:2023-10-29 13:15:33 25 4
gpt4 key购买 nike

我已经创建了一个节点包,我想在我公司的主要应用程序中使用它。我的包和应用程序都存储在私有(private) git 存储库中。这是我的 package.json 文件的相关部分:

"dependencies": {
"qc-event-logger": "git+ssh://git@git-ssh.XXXXXXXXX.com/qc-event-logger.git#v1.0.0"
},

我能够在本地运行和构建它,并且一切正常。问题是当我尝试从我们的 Jenkins 构建服务器进行部署时。 npm install 构建任务挂起。它不会失败或抛出异常,它只是停留在那一步,直到我终止构建代理。

我不能确定,但​​我认为它失败了,因为它没有为节点包提供 ssh key 。我尝试添加 SSH key 凭据: enter image description here

但这似乎只与 pull 下整个项目有关,我找不到任何方法将凭据附加到构建任务。我尝试将主应用程序的 git 存储库的凭据切换到 SSH,但不是那样设置的。

有没有办法:a) 将 SSH key 附加到 Jenkins 构建任务,或者b) 在调用 npm install 之前或作为参数在命令行指定 SSH key ?

最佳答案

我从 jenkins 用户生成 ssh key 解决了这个问题。首先,我在 jenkins 主机上通过 ssh 连接。

然后我使用 jenkins 用户而不是当前用户或 root 用户生成 ssh 私钥和公钥。我将举一个 bitbucket 的例子:

su - jenkins
ssh-keygen -f ~/.ssh/bitbucket -C "bitbucket"

然后您应该创建一个配置文件以在每个 bitbuket 请求上使用此 ssh key 。

touch ~/.ssh/config
chmod 755 ~/.ssh/config

echo "# Bitbucket configuration" > ~/.ssh/config
echo "Host bitbucket.org" >> ~/.ssh/config
echo " HostName bitbucket.org">> ~/.ssh/config
echo " IdentityFile ~/.ssh/bitbucket">> ~/.ssh/config

最后更新 ssh 配置,添加 bitbucket 私钥:

ssh-add ~/.ssh/bitbucket

您可以检查是否一切正常,通过以下命令检查 ssh-add -l 并应返回包含私钥配置的行。

关于git - 在 Jenkins 上安装 npm 期间访问私有(private)存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253735/

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