2011-11-30 87 views
5

我不能爲我的生活似乎讓我的詹金斯CI與Github一起工作。詹金斯不擅長私人GitHub存儲庫(Windows)

我在克隆命令上失敗了,但那是由於鍵,所以我以服務帳戶(用戶Jenkins作爲Windows服務運行)登錄並運行了克隆命令。引擎蓋上的一切都很好。

但是,當我想運行獲取最新的,它不會完成。它只是坐在那裏。我已經通過Jenkins的Git插件嘗試過,並且還通過Windows命令行腳本嘗試過。既沒有工作。但是,如果我打開命令提示符並在其中鍵入命令,它將起作用!

那麼我怎樣才能通過詹金斯得到它?

我運行此腳本:

set 
"C:\Program Files (x86)\Git\bin\git.exe" fetch -t ssh://[email protected]/OrgName/MyRepo.git +refs/heads/*:refs/remotes/origin/* 
exit 0 

,並堅持在獲取命令,從來沒有退出。

有人有什麼建議嗎?

+0

你爲什麼使用ssh url?它應該運行良好的'Git:// github.com/OrgName/MyRepo.git'除非詹金斯必須提交一些東西。 –

+0

如果我使用您的URL,它似乎不會嘗試使用我設置的SSH密鑰。我不斷收到「致命的:遠程掛斷」錯誤 – CamronBute

+0

啊,你使用的是私有存儲庫呢? –

回答

4

它看起來像msysGit堅持試圖找到它的組件之一,在獲取操作過程中使用。

Git本身並不是一個單一的可執行文件。這是一組小工具,他們的工作只能放在一起。在bash提示符下在Windows上運行Git會發生這種情況,但是當您通過Windows命令提示符或批處理文件運行時,Force可能不在您身邊。

我認爲你應該檢查你安裝了msysGit的選項「從Windows命令提示符運行Git」。在這種情況下,所有需要的Git部分將被添加到系統PATH變量中,並且git.exe將能夠從批處理文件訪問它,因此它應該修復您的fetch語句。

+0

問題是我安裝了「從Bash運行」選項而不是「從Windows運行命令行」。一旦我添加了必要的環境變量,它就像一個魅力,但只有當我創建一個腳本來獲取。但是,我喜歡這樣,所以我會離開它。謝謝! – CamronBute

+0

@CamronBute如果它解決了你的問題,它是一個好的形式來upvote一個答案;-) –