2017-06-29 131 views
0

是否有可能向TeamCity執行的git克隆操作添加參數作爲CI管道的第一步?我想添加「-c core.longpaths = true」。 如何做到這一點?TeamCity Git克隆參數

+0

我不知道任何方式做到這一點,但你會最有可能遇到其他問題。即使你可以讓git使用長路徑支持(POSIX子系統),任何你用來構建代碼的工具都可能不支持它。最好的方法是減少路徑的長度。 –

回答

1

我發現TeamCity與git的交互很令人沮喪。你確定它甚至在執行clone命令嗎?因爲在我的測試中,它不...

無論如何,一些可能適合您的需要選擇:

你可以使用手工結帳,然後結帳過程可以是任何你想要的。在你構建的版本控制設置,您將設置VCS結賬模式自動不檢出文件。然後,您將按照您首選的構建步驟完成您的git結帳過程。

如果這是不可管理的...其他選項是一種黑客。他們確實需要代理商結帳,並且必須對每個代理商執行這些步驟。

我假設把longpaths設置在系統配置文件是不是一種可行的選擇(因爲它會影響到代理的所有回購)。你可以嘗試

一個選項是運行一次作業並使用生成日誌找到檢出目錄;然後轉到代理上的那個目錄 - 這將是一個git回購。刪除除.git目錄以外的所有內容,然後運行git config以設置longpaths。隨後的版本 - 只要他們重新使用結帳目錄 - 將有望獲得設置。

或者你可以寫一個包裝腳本,將你想要的參數命令行並調用飯桶。 VCS根可以指定要使用的「git可執行文件」,因此您可以將它指向您的包裝器。如果在給定的內部版本中每 git調用將參數應用到都可以,那麼這個方法就行得通了 - 在你的情況下,這可能沒問題。 (如果沒有,你必須檢查命令行來決定什麼時候使用它。)