• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            兔子的技術博客

            兔子

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

            留言簿(10)

            最新評論

            閱讀排行榜

            評論排行榜

            Visual Studio TFS 團隊項目和集合指南

            Willy-Peter Schaub  Mike Schimmel

             MSDN 雜志 文章,“Visual Studio TFS 分支和合并指南”(msdn.microsoft.com/magazine/gg598921) 中,Visual Studio ALM Rangers 推出了一些新的分支方案和相關指導,可幫助您處理復雜的真實分支和合并環(huán)境,以便改進解決方案的一致性和質(zhì)量以及應用程序生命周期管理 (ALM) 的整體過程。

            概括來說,Rangers 就是通過解決功能缺失問題以及消除阻礙產(chǎn)品采用的因素來提倡 Visual Studio 產(chǎn)品組、Microsoft 服務和 Microsoft 最有價值專家 (MVP) 社區(qū)之間協(xié)作的一組專家。

            在本文中,Rangers 提供了組織和配置 Team Foundation Server (TFS) 團隊項目和團隊項目集合的指南。

            閱讀完本文后,您能更好地了解以下內(nèi)容:

            • 團隊項目集合及其優(yōu)點
            • 有關如何選擇將一個或更多團隊項目合并到一個團隊項目集合中或?qū)⑺鼈儽A粼趩为殘F隊項目集合中的注意事項
            • 有關如何通過組織團隊項目和團隊項目集合來提高隔離或改進可伸縮性的注意事項
            • 如何存檔一個或更多不活動的團隊項目

            本文將幫助您理解團隊項目和團隊項目集合組織是如何受下列問題影響的:

            • 安全性和 TFS 配置、團隊項目集合和團隊項目
            • 選擇過程模板
            • 過程模板自定義,包括自定義工作流、工作項類型自定義、自定義報告、自定義查詢和自定義過程指南
            • 團隊組織
            • 團隊項目組織,包括區(qū)域和迭代
            • 項目管理注意事項,包括項目里程碑和計劃

            規(guī)劃

            為了確保所有利益干系人具有有效和可伸縮的 ALM 系統(tǒng),Visual Studio TFS 規(guī)劃通常會從建議的基礎結構以及團隊項目和團隊項目集合的架構開始。

            Visual Studio 2010 快速參考指南 (vs2010quickref.codeplex.com) 以及 Visual Studio 2010 和 TFS 2010 虛擬機 (VM) 工廠 (rangersvsvmfactory.codeplex.com) Rangers 指南項目提供了概念、指南和快速參考海報,用于支持容量規(guī)劃并幫助回答有關基礎結構應為物理或虛擬基礎結構還是兩者并存的問題。

            雖然您通常先規(guī)劃和定義團隊項目集合,然后再在 TFS 2010 環(huán)境中定義團隊項目,但是我們會首先介紹團隊項目。

            Visual Studio 團隊項目

            在 TFS 2005 和 TFS 2008 中,一個 TFS 服務器可能會承載一個或更多團隊項目。 每個團隊項目實質(zhì)上都是一個產(chǎn)物容器,包括源代碼(組織在各文件夾、分支文件夾和分支中),并包括一個或更多 Visual Studio 解決方案、Team Build 配置文件、Team Load Test Agent 以及可選的 SharePoint 存儲庫,該存儲庫包含項目相關文檔以及由團隊用來跟蹤和執(zhí)行由過程模板控制的一組工作的安全設置。 不能將團隊項目與 Visual Studio .NET 項目混淆,后者包含生成 Microsoft .NET Framework 程序集所需的全部生成和配置設置;一個 Visual Studio .NET 解決方案包含一個或多個 Visual Studio .NET 項目并定義項目依賴關系、生成過程和順序;或包含一個項目計劃,該計劃用于從一組要求進行生成。

            有關創(chuàng)建和管理團隊項目的更多信息,請參見“創(chuàng)建和管理團隊項目”MSDN 庫頁面 (bit.ly/eCP0yX)。

            讓我們討論一下將項目計劃組織到團隊項目中時的注意事項。 團隊項目常常包含與開發(fā)單個產(chǎn)品或產(chǎn)品系列關聯(lián)的最大工作單元。 例如,在 Microsoft 產(chǎn)品中,Visual Studio 和 Office 是兩個產(chǎn)品系列,每個產(chǎn)品系列都包含在其自身的單獨團隊項目中(請參見圖 1),因為這兩個產(chǎn)品系列的開發(fā)是按照完全不同的日程表進行的,并具有各自的里程碑和發(fā)布計劃。

            圖 1 Visual Studio 和 Office 團隊項目

            注意配置問題和安全隔離十分重要。 創(chuàng)建新的團隊項目過程中最費時的一項工作是對項目進行配置以便它由一個或更多團隊使用,主要通過定義安全用戶、組和權限來控制對團隊項目及其產(chǎn)物的訪問。需要針對在正確粒度級別上正確定義安全性的利益對這種配置工作進行平衡,以便讓團隊中的成員能夠完成他們需要 完成的工作。 同時,正確的安全配置可以防止不應該執(zhí)行某些任務的人員無意間或故意對團隊項目及其資產(chǎn)其造成損壞。

            對于具有不同里程碑和發(fā)布計劃的產(chǎn)品系列(如 Visual Studio 和 Office),合理的做法是將每個產(chǎn)品系列組織為獨立團隊項目以實現(xiàn)安全隔離。 與每個產(chǎn)品系列相關聯(lián)的開發(fā)團隊可能是完全分開的,他們不大可能需要和被授予兩個團隊環(huán)境中的參與和生成權限。

            對于使用不同方法的項目計劃(例如,一個團隊選擇使用 Microsoft Solutions Framework (MSF) 開發(fā) Agile Software Development 5.0 版,而另一個團隊選擇使用 Microsoft Solutions Framework (MSF) for Agile Software Development 5.0 版),這就需要兩個獨立的團隊項目,因為一個給定團隊項目有且只有一個與之關聯(lián)的過程模板。

            對于需要“區(qū)域”和“迭代”的唯一定義的項目計劃,建議將團隊項目分開,因為一個給定團隊項目只定義一個區(qū)域和迭代層次結構。 或者,一個團隊項目可以使用區(qū)域來組織多個功能團隊(請參見圖 2),這些功能團隊共享相同的迭代(請參見圖 3)。 另請參見由 Martin Hinshelwood 撰寫的文章“使用 Team Foundation Server 2010 創(chuàng)建項目”(在 bit.ly/hSnHGw 上),該文章討論了使用區(qū)域而不是具有許多小型團隊項目的方案。

            圖 2 使用區(qū)域來組織單獨功能團隊的團隊項目

            圖 3 多個功能團隊共享迭代層次結構的團隊項目

            版本控制簽出設置(例如,獨占簽出、簽入策略和簽入說明)是為某個團隊項目定義的,并且這些設置不跨越團隊項目邊界共享。 如果分開的項目計劃需要不同的源代碼管理設置,則這些項目計劃必須與單獨的團隊項目相關聯(lián)。

            過程模板自定義包括已自定義(或自定義)工作流、工作項類型 (WIT)、報告和查詢。 您可以自定義用于創(chuàng)建新團隊項目的過程模板,或自定義由某個團隊項目使用的特定過程模板,這種特定過程模板不會跨多個團隊項目共享。

            共享團隊項目產(chǎn)物通常是通過從一個團隊項目分支到另一個團隊項目實現(xiàn)的。 在前一篇文章中,我們討論了共享公共代碼的各種方法,其中很多方法都涉及到分支。

            您可以看到,決定分開的項目或項目計劃是可以共享相同的團隊項目還是必須與不同的團隊項目相關聯(lián)需要考慮很多因素。 您應考慮各種因素,并做出最適合您的組織的團隊項目組織決定。

            Visual Studio 團隊項目集合

            雖然團隊項目在一定程度上是相互獨立的,但在 TFS 2005 和 TFS 2008 中,某些維護活動(例如,將多個 TFS 服務器合并為一個服務器)在過去是很難實現(xiàn)的。 并且,組織內(nèi)的獨立業(yè)務部門只能通過在組織內(nèi)實現(xiàn)兩個或更多 TFS 服務器來取得組織隔離,這就提高了基礎結構成本,增加了維護和整體復雜性。

            Visual Studio 2010 引入了團隊項目集合。 每個 TFS 服務器可以有一個或更多團隊項目集合。 反過來,一個團隊項目集合包含一個或更多團隊項目。 團隊項目集合是 TFS 的基本恢復單位。 從備份和還原的角度看,團隊項目集合與 SharePoint 站點集合類似。

            Visual Studio 2010 快速參考指南項目 (vs2010quickref.codeplex.com) 提供了快速參考海報,可幫助您計劃新團隊項目集合功能和團隊項目。 團隊項目集合提供了更具可伸縮性的 TFS 服務器部署。 在 TFS 2010 中,一個團隊項目集合大致相當于 TFS 2005 或 TFS 2008 中的一個 TFS 服務器。 有關創(chuàng)建和管理團隊項目集合的更多信息,請參見 msdn.microsoft.com\library\dd236915

            將團隊項目隔離為獨立團隊項目集合時的注意事項包括可伸縮性、備份、恢復、安全隔離以及在團隊項目間共享信息。

            利用通常與數(shù)據(jù)庫環(huán)境相關聯(lián)的可伸縮性和負載平衡基礎結構,團隊項目集合能夠在物理 SQL 服務器和 SQL 服務器實例之間實現(xiàn)負載平衡,從而為 TFS 服務器的可伸縮性提供支持。 如果您能夠在 SQL 服務器之間實現(xiàn)負載平衡,就可獲益于將團隊項目拆分成多個團隊項目集合。

            如前所述,TFS 的基本恢復單位是團隊項目集合。 不能對團隊項目單獨進行備份或還原。 如果您需要粒度備份和恢復功能(例如,如果您不想恢復一個以上團隊項目),則將團隊項目隔離為獨立的團隊項目集合以便進行備份和恢復會使您的組織獲益。

            如果要以適當?shù)目刂瞥潭群土6日_管理團隊項目集合的安全設置,則可能會比較耗時。 在添加新的團隊項目集合時,必須考慮用于設置每個集合的初始和后續(xù)工作。 如果在一個 TFS 服務器上管理的團隊項目的項目團隊具有不同的安全要求,則出于安全原因?qū)F隊項目隔離為獨立的團隊項目集合會讓您受益。

            另一方面,如果在一個 TFS 服務器上管理的團隊項目的項目團隊不需要安全隔離,則讓組織的團隊項目位于同一個團隊項目集合中會使組織受益(請參見圖 4)。

            圖 4 團隊項目集合共享和隔離邊界

            雖然可以在相同團隊項目集合中的團隊項目間實現(xiàn)產(chǎn)物(如源代碼文件)共享,但這些產(chǎn)物不能跨越團隊項目集合邊界共享(請參見圖 4)。 如果兩個團隊項目必須共享產(chǎn)物,則他們必須位于同一團隊項目集合中。

            有關使用團隊項目集合來共享和隔離源代碼并進行分支和合并的討論不在本文范圍之內(nèi)。 建議您參考tfsbranchingguideiii.codeplex.com 以了解今后的指南中包含的相關討論和信息。

            團隊項目存檔策略

            定期維護必不可少,因為 TFS 環(huán)境從來不能安裝在無限制的物理資源上。 管理員需要計劃定期維護以存檔完整的項目數(shù)據(jù)并釋放服務器上壓力,以免開發(fā)團隊遇到性能問題。

            Rangers 升級指南 (vs2010upgradeguide.codeplex.com) 定義了一些可能的策略以作為升級指南的一部分,這些策略與 Microsoft 咨詢服務已開發(fā)的過程類似(請參見圖 5):

            圖 5 可能的存檔策略

            1. 首先制作團隊項目集合的副本。
            2. 從新克隆的存檔團隊項目集合中刪除活動的團隊項目(使用 TFSDeleteProject 命令行實用工具)。
            3. 從原始(活動)團隊項目集合中刪除存檔的項目。
            4. 然后,可以將新的團隊項目集合存儲至外部介質(zhì)上(例如,磁帶或閃存),再從硬盤將其刪除。 如果對系統(tǒng)進行審核,則很容易將存檔介質(zhì)還原。
            5. 分離新的團隊項目集合,以便以后輕松地重新獲取該集合。

            從概念上看,此策略似乎并不重要,但確實需要一種策略來確定哪些團隊項目可以存檔,而哪些不能。 請?zhí)貏e注意,在執(zhí)行 TFSDeleteProject 操作時,會將源代碼分支從系統(tǒng)中移除,并且這個事件是可以撤消的。

            以下是用于存檔策略的建議:

            • 為開發(fā)團隊建立項目收尾策略以清理項目數(shù)據(jù)并將其存儲。 源代碼不是唯一需要保存的資料。 項目要求很有趣,但是它們的格式很可能不能重新使用,或者不能從其進行增強。 功能規(guī)范需要與以前的功能規(guī)范混合才能反映產(chǎn)品在項目完成時處于生產(chǎn)條件下的狀態(tài)。 隨后,可以對該項目的要求進行存檔,無需擔心數(shù)據(jù)丟失。 工作項不能像源代碼那樣從一個團隊項目合并至另一個團隊項目,因此,需要在項目完成后做出如何存儲完成的工作項的決定。
            • 向所有團隊發(fā)送標準要求,通知他們該事件之前有一個掛起的存檔操作,并列出針對該存檔的所有團隊項目。
            • 在每個團隊項目中建立一個里程碑文件夾以作為完整項目計劃的最終項目數(shù)據(jù)的容器,包括要求列表、最終項目報告以及項目收尾時按正常方法策略存儲的全部文檔。

            實質(zhì)上,若要成功進行存檔,需要保留所有項目數(shù)據(jù),而不僅僅是保留源代碼。

            為了對某個業(yè)務部門可能分離為兩個或更多管理實體做出響應,需要拆分團隊項目集合。 在這種情況下,雖然不會存檔任何團隊項目,但將部署與用于存檔團隊項目的方法類似的方法。 第二個團隊項目集合必須要像原始團隊項目集合那樣進行處理,原因在于它現(xiàn)在需要獨立于原始團隊項目集合的定期維護。

            在團隊項目集合間移動團隊項目不太容易,并且一旦將集合拆分,就不能簡單地將其重新合并,因為只能將新的團隊項目添加到集合中。 為了合并團隊項目集合,需要使用 TFS API 獲得自定義代碼,以便將項目數(shù)據(jù)從一個集合復制到另一個集合。

             雖然并未建議這樣做,但可使用 TFS 集成工具將團隊項目合并成團隊項目集合中,請參見 TFS 集成工具文檔 (bit.ly/9tHWdG)。

            在以后的文章中,我們將研究 Rangers 如何使用 Visual Studio ALM 工具來應對分布式敏捷團隊管理所帶來的挑戰(zhàn)。


            轉自:http://msdn.microsoft.com/zh-cn/magazine/gg983486.aspx
            posted on 2011-05-12 13:52 會飛的兔子 閱讀(3399) 評論(0)  編輯 收藏 引用 所屬分類: 開發(fā)過程管理
            久久免费的精品国产V∧| 久久精品亚洲精品国产欧美| 色综合久久久久久久久五月| 2022年国产精品久久久久| 久久er热视频在这里精品| 久久综合九色综合欧美就去吻| 久久久久久久久久久久久久| 2021国产成人精品久久| 久久亚洲精品成人无码网站| 久久这里只有精品首页| 久久久久久久波多野结衣高潮| 国产精品久久免费| 久久精品国产2020| 免费一级做a爰片久久毛片潮| 久久午夜伦鲁片免费无码| 伊人久久亚洲综合影院| 91久久成人免费| 久久午夜无码鲁丝片| 久久精品日日躁夜夜躁欧美| 国产精品免费久久久久电影网| 久久国产高潮流白浆免费观看| 色综合久久久久综合99| 99久久国产亚洲高清观看2024 | 久久99国产精品久久| 久久久www免费人成精品| 久久五月精品中文字幕| 99久久国产主播综合精品| 久久久久免费看成人影片| 精品久久久无码21p发布| 久久婷婷五月综合成人D啪| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 无码人妻久久一区二区三区蜜桃| 中文精品久久久久国产网址| 99久久久精品免费观看国产| 日韩人妻无码精品久久久不卡| 精品久久久久久久久免费影院| 亚洲精品高清一二区久久| 欧美午夜精品久久久久久浪潮| 日本精品一区二区久久久| 欧美色综合久久久久久| 久久人妻少妇嫩草AV蜜桃|