Jenkins scm 步骤意外失败

Jenkins scm step fails unexpectedly

我安排的管道似乎有一个奇怪的问题。 重现步骤:

  1. 已安装 Jenkins、授予身份验证、安装插件等
  2. 创建新管道
  3. 添加新的 'Pipeline script from SCM' 步骤
  4. Select 'git' 作为回购类型
  5. 提供 repo url(使用 git 用户)

预期:回购访问没有任何问题。 实际:回购访问失败并出现以下错误:

"Failed to connect to repository : Command "git.exe ls-remote -h git@git.assembla.com:[repo-name].git HEAD”返回状态码 128: 标准输出: stderr:主机密钥验证失败。 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限 并且存储库存在。

注意:从 PowerShell 调用同一行没有错误,我可以在本地获取代码。

知道缺少什么吗?

invoking the same line from the PowerShell

您是否使用与 Jenkins 相同的用户帐户调用它?

(我猜你做到了,但只是为了确定:来自同一台机器?)

您必须使用 SSH 凭据连接到您的 Git 存储库。 要了解如何定义新的 SSH 凭据,您可以查看 ,总结如下:

将带有 private/public 的凭据添加到 Jenkins 和远程存储库后,您可以更新 pipeline script from SCM 以使用您的凭据,如下例所示: