git - 在 Jenkins 多分支管道作业中运行 Git 命令
问题描述
我正在尝试运行 Git 命令来查找分支是否已经存在于 git repo 中,但很明显它失败并出现错误:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
这是我要运行的命令:
def branch_exists_in_angular = sh(script: 'git ls-remote --heads $ANGULAR_REPO $CHECKOUT_BRANCH | wc -l', returnStdout: true)
有没有办法可以将 git ssh 密钥传递给上面的命令,所以它运行良好。我在某个地方找到以下示例:
sshagent(['my-git-ssh']){
def branch_exists_in_angular = sh(script: 'git ls-remote --heads $ANGULAR_REPO $CHECKOUT_BRANCH | wc -l', returnStdout: true)
}
但它没有说 sshagent 不是有效的 DSL。
根据评论中的建议,我安装了 ssh 代理插件并尝试再次运行它......但这一次它失败并出现错误:
/usr/bin/git: /usr/bin/git: cannot execute binary file