2011-08-24 112 views
7

我們希望使用TeamCity實現CI。TeamCity Visual Studio插件與Git

我們使用Git進行源代碼控制,並希望使用TeamCity的「預先測試的提交」或「個人構建」功能。

有沒有人有過用於Teamcity的VS插件的經驗?

據我所見,它只支持Subversion,沒有關於Git的消息。

任何人使用此設置任何成功?

回答

11

正如JoergMPre-tested 「Commits」 using Git解釋,你可以模擬類似TeamCity6.x「個人基礎上的分支」的解決方案,通過使用個人回購:

JoergM's setup for personnal repo

有一個只包含預測試更改的中央Git存儲庫。我稱之爲「綠色存儲庫」,因爲它應該只包含導致綠色構建的變化。
每個開發人員都從該存儲庫中提取,但沒有人被允許推送到該存儲庫。

相反,每個人都有一個個人存儲庫(如果你在GitHub上,請考慮fork)。 CI服務器監視這些個人存儲庫。提交後,它開始編譯和測試。如果成功,它會將更改推送到綠色存儲庫。

JoergM補充說:

的問題是,是否我們將繼續利用我們自己的解決方案或切換到TeamCity的新功能。
到目前爲止,我看不到任何Teamcity功能的優勢。
使用我們的解決方案,我們在分支設計方面更加靈活。

這種設置類似於我在「What is the cleverest use of source repository that you have ever seen?」中描述的設置。

+0

偉大的東西,謝謝隊友。 –

+0

閱讀此內容會產生兩個問題:自動推送會發生什麼情況?這是如何直接反映到VS?與插件不同,這不提供任何VS或IDE集成。 –

+0

@liortal:我看到的一般情況是,在失敗的情況下,通知用戶的電子郵件以及在個人存儲庫中丟棄的提交(在解決問題後再次推送它們)。但是你是對的,沒有與TC或VS-addin直接集成(Visual Studio Addin:http://confluence.jetbrains.net/display/TCD65/Visual + Studio + Addin)。 – VonC

0

TeamCity 6.5具有新功能:遠程運行在分支上。它適用於Git和Mercurial,並且不需要IDE,請參閱更多:http://confluence.jetbrains.net/display/TCD65/Branch+Remote+Run+Trigger

+0

什麼是遠程運行?它與登記時的常見觸發方式有何不同? –

+0

在TeamCity中實際上有兩個術語,「遠程」運行和「預測試提交」。如果您的個人構建沒有提交選項,那麼這是一個「遠程運行」。否則,這是一個「預先測試的提交」。在TeamCity 6.5中添加了「在分支上遠程運行」功能。現在,您可以告訴TeamCity服務器觀察名稱與特定模式匹配的Git/Mercurial分支中的更改。一旦TeamCity在這樣的分支中檢測到提交,它將代表提交作者觸發個人構建。 –

+0

謝謝。這種功能有什麼用途?我的意思是,這聽起來與檢查時通常的觸發器非常相似(除了它在不同的分支上監聽VCS根頁面上指定的分支之外)。 –