gpt4 book ai didi

git - Jenkins 的 npm install 无法安装托管在 bitbucket 上的模块

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

我正在使用 Jenkins 来管理持续集成。我的一项工作包含以下任务:

  • 使用凭证“bitbucket access”(带密码的私钥)通过 Git 插件从 BitBucket 克隆存储库 => 工作正常!
  • 在存储库中执行批处理命令:'npm install' => 失败!

在 package.json 文件中,有一些常用的 nodeJS 模块,如 colors、fs.extra 等。如果它们是唯一的,则正确安装。

但是在 BitBucket 上还有一个私有(private)模块:

"dependencies": {
"module": "git+ssh://git@bitbucket.org/<team>/module.git"
}

在“npm install”命令期间未能安装该模块(请参阅下面的 Jenkins 日志)。

作业在 Windows 7 从站上运行。如果我尝试在从服务器上的 session “mySession”上安装“npm install”,它会要求我提供与位于 C:\Users\mySession\.ssh\id_rsa 的私钥相对应的密码(它也具有 BitBucket 访问权限,但它特定于 session “mySession”,因此不同于“bitbucket access”凭证)。然后'npm install'通过安装模块正常结束。

我尝试使用 SSH 代理插件,凭据为“bitbucket access”:它正确启动,但之后似乎无法使用,因为权限被拒绝。

您对如何解决此问题并使“npm install”正常工作有任何想法吗?

谢谢你的回答!

Jenkins 日志:

Construction à distance sur MySlave in workspace C:\Jenkins\workspace
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent] Java/tomcat-native ssh-agent
[ssh-agent] Registered BouncyCastle on the remote agent
[ssh-agent] Started.
[ssh-agent] Using credentials bitbucket access

...

npm WARN package.json deployment@1.0.0 No description
npm WARN package.json deployment@1.0.0 No repository field.
npm WARN package.json deployment@1.0.0 No README data
npm WARN addRemoteGit Error: Command failed: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit
npm WARN addRemoteGit at ChildProcess.exithandler (child_process.js:203:12)
npm WARN addRemoteGit at emitTwo (events.js:87:13)
npm WARN addRemoteGit at ChildProcess.emit (events.js:172:7)
npm WARN addRemoteGit at maybeClose (internal/child_process.js:818:16)
npm WARN addRemoteGit at Socket.<anonymous> (internal/child_process.js:319:11)
npm WARN addRemoteGit at emitOne (events.js:77:13)
npm WARN addRemoteGit at Socket.emit (events.js:169:7)
npm WARN addRemoteGit at Pipe._onclose (net.js:469:12)
npm WARN addRemoteGit git+ssh://git@bitbucket.org/<team>/module.git resetting remote C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0
because of error: { [Error: Command failed: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit ]
npm WARN addRemoteGit killed: false,
npm WARN addRemoteGit code: 1,
npm WARN addRemoteGit signal: null,
npm WARN addRemoteGit cmd: 'git -c core.longpaths=true config --get remote.origin.url' }
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0: Cloning into bare repository
'C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0'...
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0: Permission denied (publickey).
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0: fatal: Could not read from remote repository.
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0:
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0: Please make sure you have the correct access rights
npm ERR! git clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0: and the repository exists.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v4.2.3
npm ERR! npm v2.14.7
npm ERR! code 128

npm ERR! Command failed: git -c core.longpaths=true clone --template=C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror ssh://git@bitbucket.org/<team>/module.git
C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0
npm ERR! Cloning into bare repository 'C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes\ssh-git-bitbucket-org-<team>-module-git-2a4d53e0'...
npm ERR! Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>

...

[ssh-agent] Stopped.

可能有用:

  • Jenkins 版本:1.628
  • 凭证插件:2.1.3
  • Git 插件:2.3.5
  • Git 客户端插件:1.19.6
  • Bitbucket 插件:1.1.2
  • SSH 凭证插件:1.12
  • SSH 代理插件:1.13

最佳答案

我在 Jenkinsfile 中遇到了类似的问题,其中 npm 无法访问私有(private) git 存储库,即使我可以作为同一用户从命令行执行此操作。似乎 .ssh/config 被忽略了。我能够使用我的 Jenkinsfile 中的以下代码片段解决此问题:

sh "eval \$(ssh-agent); ssh-add /home/tomcat/.ssh/mysshkey; npm install"

关于git - Jenkins 的 npm install 无法安装托管在 bitbucket 上的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38054433/

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