• <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>

            兔子的技術(shù)博客

            兔子

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

            留言簿(10)

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Visual Studio TFS 團(tuán)隊(duì)項(xiàng)目和集合指南

            Willy-Peter Schaub  Mike Schimmel

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

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

            在本文中,Rangers 提供了組織和配置 Team Foundation Server (TFS) 團(tuán)隊(duì)項(xiàng)目和團(tuán)隊(duì)項(xiàng)目集合的指南。

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

            • 團(tuán)隊(duì)項(xiàng)目集合及其優(yōu)點(diǎn)
            • 有關(guān)如何選擇將一個(gè)或更多團(tuán)隊(duì)項(xiàng)目合并到一個(gè)團(tuán)隊(duì)項(xiàng)目集合中或?qū)⑺鼈儽A粼趩为?dú)團(tuán)隊(duì)項(xiàng)目集合中的注意事項(xiàng)
            • 有關(guān)如何通過組織團(tuán)隊(duì)項(xiàng)目和團(tuán)隊(duì)項(xiàng)目集合來提高隔離或改進(jìn)可伸縮性的注意事項(xiàng)
            • 如何存檔一個(gè)或更多不活動(dòng)的團(tuán)隊(duì)項(xiàng)目

            本文將幫助您理解團(tuán)隊(duì)項(xiàng)目和團(tuán)隊(duì)項(xiàng)目集合組織是如何受下列問題影響的:

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

            規(guī)劃

            為了確保所有利益干系人具有有效和可伸縮的 ALM 系統(tǒng),Visual Studio TFS 規(guī)劃通常會(huì)從建議的基礎(chǔ)結(jié)構(gòu)以及團(tuán)隊(duì)項(xiàng)目和團(tuán)隊(duì)項(xiàng)目集合的架構(gòu)開始。

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

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

            Visual Studio 團(tuán)隊(duì)項(xiàng)目

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

            有關(guān)創(chuàng)建和管理團(tuán)隊(duì)項(xiàng)目的更多信息,請(qǐng)參見“創(chuàng)建和管理團(tuán)隊(duì)項(xiàng)目”MSDN 庫頁面 (bit.ly/eCP0yX)。

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

            圖 1 Visual Studio 和 Office 團(tuán)隊(duì)項(xiàng)目

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

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

            對(duì)于使用不同方法的項(xiàng)目計(jì)劃(例如,一個(gè)團(tuán)隊(duì)選擇使用 Microsoft Solutions Framework (MSF) 開發(fā) Agile Software Development 5.0 版,而另一個(gè)團(tuán)隊(duì)選擇使用 Microsoft Solutions Framework (MSF) for Agile Software Development 5.0 版),這就需要兩個(gè)獨(dú)立的團(tuán)隊(duì)項(xiàng)目,因?yàn)橐粋€(gè)給定團(tuán)隊(duì)項(xiàng)目有且只有一個(gè)與之關(guān)聯(lián)的過程模板。

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

            圖 2 使用區(qū)域來組織單獨(dú)功能團(tuán)隊(duì)的團(tuán)隊(duì)項(xiàng)目

            圖 3 多個(gè)功能團(tuán)隊(duì)共享迭代層次結(jié)構(gòu)的團(tuán)隊(duì)項(xiàng)目

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

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

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

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

            Visual Studio 團(tuán)隊(duì)項(xiàng)目集合

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

            Visual Studio 2010 引入了團(tuán)隊(duì)項(xiàng)目集合。 每個(gè) TFS 服務(wù)器可以有一個(gè)或更多團(tuán)隊(duì)項(xiàng)目集合。 反過來,一個(gè)團(tuán)隊(duì)項(xiàng)目集合包含一個(gè)或更多團(tuán)隊(duì)項(xiàng)目。 團(tuán)隊(duì)項(xiàng)目集合是 TFS 的基本恢復(fù)單位。 從備份和還原的角度看,團(tuán)隊(duì)項(xiàng)目集合與 SharePoint 站點(diǎn)集合類似。

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

            將團(tuán)隊(duì)項(xiàng)目隔離為獨(dú)立團(tuán)隊(duì)項(xiàng)目集合時(shí)的注意事項(xiàng)包括可伸縮性、備份、恢復(fù)、安全隔離以及在團(tuán)隊(duì)項(xiàng)目間共享信息。

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

            如前所述,TFS 的基本恢復(fù)單位是團(tuán)隊(duì)項(xiàng)目集合。 不能對(duì)團(tuán)隊(duì)項(xiàng)目單獨(dú)進(jìn)行備份或還原。 如果您需要粒度備份和恢復(fù)功能(例如,如果您不想恢復(fù)一個(gè)以上團(tuán)隊(duì)項(xiàng)目),則將團(tuán)隊(duì)項(xiàng)目隔離為獨(dú)立的團(tuán)隊(duì)項(xiàng)目集合以便進(jìn)行備份和恢復(fù)會(huì)使您的組織獲益。

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

            另一方面,如果在一個(gè) TFS 服務(wù)器上管理的團(tuán)隊(duì)項(xiàng)目的項(xiàng)目團(tuán)隊(duì)不需要安全隔離,則讓組織的團(tuán)隊(duì)項(xiàng)目位于同一個(gè)團(tuán)隊(duì)項(xiàng)目集合中會(huì)使組織受益(請(qǐng)參見圖 4)。

            圖 4 團(tuán)隊(duì)項(xiàng)目集合共享和隔離邊界

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

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

            團(tuán)隊(duì)項(xiàng)目存檔策略

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

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

            圖 5 可能的存檔策略

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

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

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

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

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

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

            在團(tuán)隊(duì)項(xiàng)目集合間移動(dòng)團(tuán)隊(duì)項(xiàng)目不太容易,并且一旦將集合拆分,就不能簡(jiǎn)單地將其重新合并,因?yàn)橹荒軐⑿碌膱F(tuán)隊(duì)項(xiàng)目添加到集合中。 為了合并團(tuán)隊(duì)項(xiàng)目集合,需要使用 TFS API 獲得自定義代碼,以便將項(xiàng)目數(shù)據(jù)從一個(gè)集合復(fù)制到另一個(gè)集合。

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

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


            轉(zhuǎn)自:http://msdn.microsoft.com/zh-cn/magazine/gg983486.aspx
            posted on 2011-05-12 13:52 會(huì)飛的兔子 閱讀(3405) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 開發(fā)過程管理
            久久久久久狠狠丁香| 久久久久这里只有精品| 日日噜噜夜夜狠狠久久丁香五月| 久久综合色老色| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久免费精品一区二区| 午夜精品久久久久成人| 精品无码久久久久久午夜| 伊人久久综在合线亚洲2019| 久久久久精品国产亚洲AV无码| 久久精品亚洲中文字幕无码麻豆| 国内精品久久久久影院网站| 久久天堂AV综合合色蜜桃网 | 亚洲国产精品无码久久一线| 久久亚洲综合色一区二区三区| 久久亚洲国产精品成人AV秋霞| 国产高潮国产高潮久久久91 | 久久国产精品国语对白| 亚洲精品乱码久久久久久蜜桃不卡 | 精品综合久久久久久888蜜芽| 久久久久这里只有精品 | 久久久中文字幕日本| 国内精品九九久久久精品| 久久天天躁狠狠躁夜夜avapp| 久久久久久久综合综合狠狠| 久久九九青青国产精品| 国产精品毛片久久久久久久| 欧美大香线蕉线伊人久久| 久久精品国产免费观看三人同眠| 久久男人中文字幕资源站| 久久夜色精品国产www| 精品国产综合区久久久久久| 一级做a爱片久久毛片| 韩国三级中文字幕hd久久精品| 国产成人精品久久亚洲| 99久久精品这里只有精品| 97久久精品人人做人人爽| 国产精品永久久久久久久久久| 99久久亚洲综合精品成人| yellow中文字幕久久网| 久久丝袜精品中文字幕|