我正在尝试使用ssh-agent从脚本的Jenkins管道将提交推到远程git存储库。
我已经安装了插件,并将SSH私钥添加到Jenkins的凭据部分。THe下面的代码片段来自实例化并从Jenkinsfile调用的Groovy类:
stages.sshagent(credentials:['26954b1f-2e32-4b4b-8923-3b7a9fbac6c9']) {
stages.sh "git push origin ${branchName}"
}注意:stages只是Jenkinsfile中这个阶段的表示。该类编译良好,但每次都显示以下错误消息:
FATAL: [ssh-agent] Could not find specified credentials如果我对git客户端使用凭据,那么它可以正常工作,但不幸的是,这不支持git推送。
发布于 2019-12-10 22:52:57
这个问题有几天(944天)没有答案,我认为你可能已经解决了这个问题,但只是为了记录在案。我认为您遇到的问题是您没有在代码中指示凭据ID,或者ID 26954b1f-2e32-4b4b-8923-3b7a9fbac6c9不是正确的。
要向Jenkins添加私钥,请转到:
Jenkins >凭据> System >全局凭据 选择带有私钥的SSH用户名,然后在ID字段Nota:您需要安装SSH代理插件

ID:
从作业和其他配置中标识这些凭据的内部唯一ID。通常为空白,在这种情况下将生成ID,对于使用可视化窗体创建的作业来说,这是很好的。在使用脚本配置中的凭据时显式指定非常有用。
Groovy代码示例
sshagent(['jenkins-ssh-qa']) {
sh "ssh -o StrictHostKeyChecking=no devops@172.1.1.1 ${dockerRun}"
}https://stackoverflow.com/questions/43870065
复制相似问题