2017-10-07 51 views
2

我試圖更新裸git回購作爲生成的一部分。在Linux上它是相對簡單的:如何直接在Windows上使用git與詹金斯ssh代理

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 

我該怎麼辦呢?

回答

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

+0

謝謝。所以通過'withEnv'設置不起作用... –