2013-10-28 34 views
12

任何人都可以做到這樣的事情?將TFS構建服務連接到Github回購

一些背景:我們是使用TFS 2010的.NET商店。我有能力建議升級/改進,並且我能夠說服管理層Git是一個更好的VCS,至少從開發人員透視。接下來的問題是我們如何將這與TFS構建系統和票務系統連接起來。我真的不想問IT部門,因爲他們並不真正瞭解Git,並且可能會抵制涉及爲他們工作的變革。
我讀過關於支持Git倉庫的TFS 2013,但它看起來只支持在TFS數據庫中託管的Git倉庫(確認?),這有點令我感到害怕。我對Github主機的信任要比TFS多得多,但我可能是錯的。

我想知道的是:如何讓TFS構建系統從Github或其他服務上託管的常規Git倉庫中獲取訂閱源是多麼困難。

+0

TFS構建系統僅與TFS交互。如果您更喜歡GIT到TFS VCS,那麼您需要在TFS內託管您的「主」。沒有任何東西可以阻止你將它推送到GIThub作爲備份計劃 –

+0

我在這裏聽到了相互矛盾的觀點。 Andrew Clear似乎認爲您可以使用TFS 2013構建系統並使用常規Git回購。你能評論一下嗎? –

+1

TFS 2013包含對「Foreign」GIT存儲庫的有限支持,它可以從任何GIT實例中獲取源代碼,但是它目前無法從GIT存儲庫中託管的隊列CI /滾動構建TFS [請參閱這裏瞭解更多信息](http://www.alexandervanwynsberghe.be/whats-new-in-tfs-2013-build/) –

回答

5

在TFS中託管Git倉庫實際上比託管GitHub更安全,因爲它是由SQL Server支持的。但是,這兩者都只是Git倉庫,所以你可以做的任何事情都是Git特有的,你可以在其他倉庫中做(不一定包括構建在Git之上的功能)。

就構建控制器而言,是的,您可以在任何Git倉庫中指向TFS構建。如果您將它指向託管的TFS(門控和CI構建),您將無法獲得一些很酷的功能,但是您可以手動啓動自動化或使用預定的構建。

我強烈建議您在TFS 2013內部託管您的Git項目,而不是GitHub或其他項目,因爲體驗會更加無縫。 TFS託管的實例仍然只是Git(不是一些奇怪的混合MS Git,感謝燈光),所以它適用於任何Git插件。

如果你仍然想使用有關的Git源代碼控制的GitHub我聽說過好東西:http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c

+4

我會尊重地不同意在SQL Server中存儲對象文件,這似乎並不是好主意。但是我聽到的是,我可以在任何外部Git倉庫中指出TFS構建系統,它會起作用嗎?我認爲這是2013年的一項功能? –

+0

是的,這是2013年的一項功能。另外,這裏有一篇關於爲什麼Git + SQL是個好主意的好文章http://blogs.msdn.com/b/bharry/archive/2013/06/19/enterprise-grade-git.aspx –

+0

或者試試http:/ /tfs.visualstudio.com,它也支持雲中的構建服務器。 – riezebosch

0

有託管Git的內部TFS的缺點(公司防火牆後面)。 很難從雲環境訪問存儲庫。例如對於在雲中進行開發/測試的人來說。 但我認爲Git(分佈式版本控制系統)不應該是一個真正的問題。我們可以在TFS 2013(與Git支持)和GitHub同時託管我們的Git存儲庫。不是嗎?

+0

是的,您可以隨時隨地分發回購,包括TFS和GitHub。 –