一尘不染

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

jenkins

我正在尝试更新裸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

我该怎么做?


阅读 767

收藏
2020-07-25

共1个答案

一尘不染

我在以下位置看到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使用过的人。

2020-07-25