我知道有数以千计的主题触及我的问题,但我几天来一直在努力解决这个问题,进展几乎为零;(。
我在 Windows 机器上安装了 Jenkins。
然后获得了Git插件和Git本身。
一切都是我写作当天的最新版本。
我很高兴开始使用 Jenkins,但我未能配置我的 Bitbucket 存储库以供 Job 使用。
我设置了 git.exe 的确切路径(因为它似乎是最初问题的原因)[C:\Program Files\Git\cmd\git.exe]。
然后我尝试使用帐户凭据通过 HTTPS 访问存储库,这里出现许多奇怪的错误,所以我想让我们尝试使用 SSH。
我已经生成了 rsa key ,在 Bitbucket 存储库中设置公钥。然后我在 Jenkins 中创建了凭据配置,用于使用密码进行 SSH 身份验证。
我这里有很多问题,所以为了临时解决方法,我明确设置了私钥的值。
最后我到了我现在所在的地方:
+refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
当我尝试手动复制存储库时,它会礼貌地询问我密码短语,然后复制就完成了。当 Jenkins 的工作完成时,就会发生上述情况。在作业脚本中的 %USERNAME% 和 %USERDOMAIN% 的帮助下,我获得了与手动执行时相同的值。
经过大量的时间我可以说我不能在 Jenkins 中使用 Git ;(
更新
我不相信事情会这么简单。正如 mainframer 提到的,我将整个 SSH 身份验证的密码短语留空并且它确实有效(存储库已克隆,即使 Jenkins 仍然在作业的配置页面中显示相同的错误)。我只是想知道这样设置的任何后果,但工作的东西现在对我来说更有值(value)。
最佳答案
You mean leaving empty passphrase while generating keys and then also no passphrase config in Jenkins ssh credentials?
是的,因为 Jenkins 无法将密码提供给 ssh session 。
但请确保 Jenkins 从服务使用您的帐户(而不是系统帐户)运行。它需要您的帐户才能在 %USERPROFILE%\.ssh\id_rsa(.pub)
关于windows - Jenkins 问题与 Git [Permission denied (publickey).] on Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35828505/