2015-05-15 24 views
1

我們正在使用Microsoft Team Foundation Server進行版本控制,其中多個開發人員在分支上工作並檢入並檢出代碼。通知開發人員該文件被覆蓋

如何開發一個可以通過他的代碼得到了由開發商B.簽入期間覆蓋

開發A需要知道這一點,因爲儘快開發A的代碼更改將不工作時,電子郵件或短信通知其部署到QA中。

我們正努力在快節奏的開發環境中節省時間,並儘量避免代碼覆蓋問題。

回答

2

允許持續並行開發並阻止一個人破解他人代碼的最簡單方法是使用CI服務器。 TFS通過Team Build支持這一點。

儘管最好在專用構建服務器上運行團隊構建,但它可以並行安裝在主TFS服務器上,並且可以集中安裝控制器組件,並將開發人員的工作站用作代理。

有兩種類型的構建觸發器,可以幫助你在這裏:

  1. 持續集成 - 這每籤後直接觸發的所有代碼的生成。它會很快告訴你某些東西沒有編譯。如果你正在做單元測試,它甚至可以運行這些測試,並告訴你一個測試失敗。

  2. 門控 - 這將迫使開發者擱置他的代碼,並且只有在最新版本的構建和shelveset中的更改成功後纔會檢查代碼。這可能看起來更好,因爲源代碼控制中的代碼永遠不會處於中斷狀態,但實際上我更喜歡ci觸發器。 Gated版本的主要原因不能同時發生(由於它們的性質),並且實際上可能會延遲代碼被破壞的通知。

您可以通過webaccess輕鬆配置特定構建結果的電子郵件警報。您也可以配置源更改的警報,但是沒有選項可以僅警告曾經編輯過這些特定文件的人。

您也可以從任務托盤運行Build Notification工具以在Windows中顯示通知。

雖然這不會告訴代碼剛被覆蓋的人不再工作,但它會告訴重寫該代碼的人在檢查時應該多加註意;)。

當然,你可以配置一個團隊警報,在構建中斷時(通常稱爲)通知所有人,還有一些有趣的方式可以通過小程序顯示構建狀態,如「siren of shame」,它提供構建監視器服務可以連接到一個USB報警指示燈,該指示燈可以打開,並在有人做出某些愚蠢的事情時提供噪音。

0

如果您需要在登記&合併時避免此問題,那麼我建議禁用多次結帳。這允許文件只能一次性檢出,並且可以防止團隊項目發生混淆。

如果您需要進一步行事,您可以在任何代碼簽入併發送到分發列表時創建TFS警報,但它不會通知何時更改了特定開發人員的具體貢獻 - 只有一個登記過程中更改的文件列表。

+2

雖然一個可行的解決方案,它通常會減慢發展速度,而不是如果加速嗨。 – jessehouwing