提前感谢您的帮助。
我正在开发一个自动构建过程,其中包括运行jenkins的机器(我们称之为机器A)和一台Windows机器(我们称之为机器B)
在机器B上,我有一个完美的git存储库。我可以在机器B上为存储库运行git命令而没有问题,而直接在机器上(一个真实的物理)=>使用bitbucket正确设置了SSH。
现在在机器A上,在jenkins工作中,我需要在构建步骤中在机器B中运行git命令。我使用bash命令通过SSH连接到B,在B上运行bash脚本,运行git命令(原点获取和拉取)。
实际上它被拒绝了许可。另一方面,我可以在bash脚本中使用st -T到git@bitbucket.org。
我排除了jenkins试图了解出现了什么问题所以我使用机器C连接到A用SSH然后从AI连接到B通过SSH每次使用righ用户我得到相同的结果:我可以ssh -T git@bitbucket.org成功但我获得了git fetch origin的权限。
有什么想法吗? (我可以绘制设置来帮助你们理解这个问题)
答案 0 :(得分:0)
您需要在A中为jenkins用户创建一个ssh密钥,并将密钥导出到机器B.
在http.://yourjenkinsServer.domain/configure
中配置ssh密钥信息我的工作使用“通过SSH发送文件或执行命令”选项