gpt4 book ai didi

git - Jenkins ssh-agent 无法找到凭据

转载 作者:行者123 更新时间:2023-12-03 02:13:09 27 4
gpt4 key购买 nike

我正在尝试使用 ssh-agent 将提交从脚本化的 Jenkins 管道推送到远程 git 存储库。

我已经安装了该插件,并将 SSH 私钥添加到 Jenkins 上的“凭据”部分。以下是从 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 Push。

最佳答案

这个问题已经有几天(944)没有答案了,我想你可能已经解决了这个问题,但仅供记录。我认为您遇到的问题是您没有在代码中指明凭据 ID,或者 ID 26954b1f-2e32-4b4b-8923-3b7a9fbac6c9 不正确。

要将私钥添加到 Jenkins,请转到:

Jenkins > Credentials > System > Global credentials

Select SSH Username with private key then in ID field

注意:您需要安装 SSH Agent Plugin

Jenkins-print-screen-ssh-agent-credential

ID:

An internal unique ID by which these credentials are identified from jobs and other configuration. Normally left blank, in which case an ID will be generated, which is fine for jobs created using visual forms. Useful to specify explicitly when using credentials from scripted configuration.

Groovy 代码示例

sshagent(['jenkins-ssh-qa']) {
sh "ssh -o StrictHostKeyChecking=no devops@172.1.1.1 ${dockerRun}"
}

关于git - Jenkins ssh-agent 无法找到凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43870065/

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