簡體   English   中英

Windows Git網絡路徑問題

[英]Windows Git issue with Network Path

我有一個帶有裸倉庫的網絡文件夾。

我正在使用Jenkins嘗試創建一個構建任務,該任務簽出一個項目並使用Gi​​t插件和MsBuild插件對其進行構建。

Jenkins Windows服務作為服務帳戶運行,我們稱其為svcBuilder

該服務帳戶可以訪問網絡文件夾。 我通過以svcBuilder身份登錄到構建服務器,打開Windows資源管理器並粘貼URI(例如\\\\ machine \\ folder \\ repo)來驗證了這一點,我可以正常訪問存儲庫。

在詹金斯,我將此路徑更改為// machine / folder / repo(根據許多帖子建議)。

現在,當我將存儲庫本地復制到構建服務器時,沒有任何錯誤(因此,我確定存儲庫可以正常工作)。 但是,當我嘗試通過網絡訪問相同的存儲庫時,出現錯誤:

Failed to connect to repository : Command "C:\Program Files\Git\bin\git.exe -c core.askpass=true ls-remote -h //machine/folder/repo HEAD" 
returned status code 128:
stdout: 
stderr: fatal: unable to get current working directory: No such file or directory
fatal: The remote end hung up upon initial contact

誰能指出我正確的方向,因為git正在造成這種情況? 我無法更改git命令,因為它是由Jenkins插件生成的。

好的,為了使其正常工作,我將Sysinternals Suite下載並解壓縮到我的C:\\ Program Files(x86)\\ SysinternalsSuite中。 然后,我為Jenkins安裝了pre-scm-buildstep插件。 然后,我添加了以下pre-scm-buildStep'windows batch command'。

IF EXIST Y:\NUL GOTO REPOEXISTS
"C:\Program Files (x86)\SysinternalsSuite\psexec" -s net use Y: \\Machine\folder\repository jenkinsServiceUserPassword /u:DOMAIN\jenkinsServiceUser /persistent:yes
:REPOEXISTS

這樣,如果服務器重新啟動,我不必弄弄登錄腳本,也不必依靠預先正確設置的驅動器,腳本只需測試驅動器是否存在並在驅動器丟失時對其進行映射。 順便說一句,jenkinsServiceUser是構建服務器上的管理員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM