当前位置: 首页 > 面试题库 >

如何在Jenkins中通过ssh-agent在Windows上直接使用git

赵浩邈
2023-03-14
问题内容

我正在尝试更新裸git repo作为构建的一部分。在Linux上,它相对简单:

dir("/my/git/repo.git") {
    sshagent(['git']) {
        sh "git fetch origin module:module"
    }
}

但是我不知道如何在Windows上执行此操作。我试过了:

dir("c:\\my\\git\\repo.git") {
    withEnv(["PATH=${env.PATH};C:\\Program Files\\Git\\usr\\bin"]) {
        sshagent(['git']) {
            sh "git fetch origin module:module"
        }
    }
}

但是失败了:

Could not find ssh-agent: IOException: Cannot run program "ssh-agent": CreateProcess error=2, The system cannot find the file specified
Check if ssh-agent is installed and in PATH

我该怎么做?


问题答案:

我在以下位置看到ssh-agent:

C:\>where ssh-agent
C:\tools\gits\latest\usr\bin\ssh-agent.exe

你需要确保你的%PATH%包括(通过执行詹金斯作业的用户可以看到)Git\binGit\usr\binGit\mingw64\bin
Git由Git安装路径文件夹替换)

执行完一项作业(甚至失败)后,请查找“环境变量”链接:您将确切看到谁在运行作业(USERNAME)和PATH使用过的人。



 类似资料:
  • 问题内容: 我已经通过Windows 2008 32位上的Git / SSH在Jenkins中成功克隆了Git存储库。当我尝试在64位Windows 2008上执行相同操作时, 控制台输出 页面卡在此处: 当我停止构建时(在卡住了几分钟之后),我得到了其余的错误消息: 我可以通过两台机器上的Jenkins 通过Git只读URL克隆存储库 我可以从两台计算机上的命令行通过Git / SSH URL进

  • 我已经将vs代码配置为在windows 7中使用git bash作为终端。 “terminal.integrated.shell.windows”:“C:\Program Files\git\bin\bash.exe” 我已经启用了基于SSH密钥的身份验证来远程访问主机。所有这些都可以在VS代码中的终端内部正常工作。 但是,当使用vscode-remote SSH扩展连接到主机时,我会出现一个错误

  • 问题内容: 我正在使用Paramiko通过ssh连接到服务器。 基本身份验证效果很好,但我不明白如何使用公钥进行连接。 当我连接腻子时,服务器告诉我这一点: 我用这个ppk文件连接到它: 使用基本身份验证,我从日志中得到的错误是: 我尝试包含该ppk文件并将其设置为auth_public_key,但是没有用。 你能帮助我吗? 问题答案: 好的@Adam和@Kimvais是正确的,paramiko无

  • 当我试图通过PowerShell(右侧提升或不提升)在Windows 10上通过输入启动服务ssh代理来启动ssh代理时,我得到了错误 无法启动ssh代理服务,错误:1058 当我通过检查服务是否正在运行时,返回服务已停止。 如何让ssh代理运行?

  • 我下载并安装git从:https://git-scm.com/downloads.我现在可以在Windows命令提示符上使用git。 我下载了puttygen并用它生成了一对RSA密钥,存储在 我将公钥添加到我公司的git网站。 现在,我如何告诉git使用我刚刚创建的rsa密钥?

  • “我们在git中甚至在Windows中都使用linux命令。我想知道它是如何让这些linux命令在Windows上运行的?”