在 Azure DevOps Server 中管理專案集合

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019

當您 Azure DevOps Server 裝載多個專案時,您可以將多個專案分組在一起,並將相同的資源指派給他們,以更有效率地管理這些專案。 例如,您可以將具有類似需求或目標的專案分組,例如存取特定程式代碼基底的所有專案。 然後,您可以將這個 Team 專案群組當做自發資源來管理,而這個自發資源擁有自己的使用者群組、伺服器資源和維護排程。

專案群組稱為 專案集合。 當您安裝 Azure DevOps Server 時,會建立預設集合以包含所有專案。 當您建立集合時,您可以指定該集合內專案可以使用的邏輯和實體資源。 這些專案使用的所有成品和資料都會儲存在該集合的單一資料庫中。

下圖顯示專案集合的資料庫如何與邏輯架構整合。 當您建立專案時,您會指定將儲存其數據的集合。

範例:集合資料庫的可能位置

檢視資訊或設定現有的專案

  1. 如果您尚未新增為 Azure DevOps Server 系統管理員,請立即新增

    您必須是您要開啟控制台之伺服器上的本機 Administrators 群組成員,而且必須是 Azure DevOps Server 或 Team Foundation Administrators 群組的成員,或者您的 [編輯] Server-Level [資訊] 權限必須設定為 [允許]。

  2. 登入應用層伺服器、 開啟管理主控台,然後開啟 [Team 專案集合 ] 節點。

    管理員 主控台、Team 專案集合節點 Azure DevOps Server 2022 的螢幕快照。

    管理員 控制台、Team Project Collections 節點的螢幕快照,Azure DevOps Server 2019-2020。

  3. 反白顯示集合的名稱,並檢閱各索引標籤提供的資訊。 只有在已設定對應的應用程式時,才會顯示某些索引標籤。

    您可以從對應的索引標籤執行下列工作。

    索引標籤 工作
    一般
    • 啟動集合停止集合:啟動或停止集合。 當您停止集合時,專案就會變成無法使用。 您通常會為了支援維護作業 (例如移動或分割集合) 而停止集合。
    • 如果集合已啟動,則只會顯示 [停止集合 ]。 如果集合已停止,則只會顯示 [開始集合 ]。 啟動或停止集合可能需要數分鐘才能完成。 您可能需要選擇 [ 重新整理 ] 以顯示狀態變更。
    • 編輯設定:編輯集合的描述或組態。
    • 群組成員資格:將使用者或群組新增或移除為集合的成員。 若要深入瞭解,請參閱 設定專案集合的系統管理員許可權
    • 管理安全性:管理集合群組的許可權。 若要深入瞭解,請參閱 許可權和群組參考
    狀態
    • 檢視活動記錄或重新執行作業。
    專案

設定報告

只有在您將報表伺服器新增至 Azure DevOps 時,才會顯示 [報表] 頁面。 選擇此頁面來執行下列工作:

  • 設定報表伺服器,以供集合使用。
  • 當您編輯預設資料夾位置時,如果您輸入伺服器上不存在的資料夾路徑,而且您沒有在該伺服器上建立資料夾的使用權限,此操作將會失敗。 如果您沒有使用權限可在該伺服器上建立資料夾,則您必須指定現有資料夾。
  • 若要移除報表子資料夾的預設位置,請選擇 [清除組態]。
  • 拿掉組態會移除集合中所有現有和未來項目的報告功能。

建立專案集合

建立專案集合之前,請檢閱建立 多個專案集合的優缺點為何? 如本文稍後所述。

  1. 如果您尚未新增為系統管理員, 請立即新增

    您必須是您要開啟控制台之伺服器上的本機 Administrators 群組成員,而且 Team Foundation Administrators 群組的成員或 [ 編輯 Server-Level 資訊 ] 權限必須設定為 [允許]。

  2. 從管理控制台中,開啟 [ Team 專案集合 ] 頁面,然後選擇 [ 建立集合]。

    [管理控制台]、[Team 專案集合] 節點、[建立集合] Azure DevOps Server 2022 的螢幕快照。

    Azure DevOps Server 管理主控台的螢幕快照,其中已醒目提示 [建立集合] 選項。

  3. 遵循 建立Team專案集合 精靈所提供的指引。

    [名稱] 中,指定不超過 64 個字元的唯一名稱, (較短的較佳) ,而且不要指定斜線,或 命名限制中列出的其他特殊字元。

    [建立集合] 對話框,Azure DevOps Server 2022,其中已選取 [繼承] 選項。

    [建立 Team 專案集合] 對話框的螢幕快照,其中已選取 [繼承] 選項。

  1. 如果您想要使用使用者介面來自定義工作追蹤,請選擇 [繼承 ]。 這個選擇依賴 Analytics Service 來支援您的報告需求。

    如果您想要使用 XML 定義檔案來自定義工作追蹤,請選擇 [XML ]。

    注意

    針對內部部署 XML 進程模型,您可以使用 witadmin 來列出、匯入、匯出和修改項目的程式。 針對繼承的進程模型,您只能使用 witadmin 來列出和匯出進程資訊。 如需程式模型和支援專案的概觀,請參閱 自定義您的工作追蹤體驗

此精靈支援下列資源的組態。 必須事先將裝載集合的應用程式層伺服器設定為支援對應的應用程式,才能設定某些資源。

資料層或 SQL Server 執行個體

  1. 指定 Azure DevOps 資料層伺服器的名稱。 如果您想要使用具名實例來裝載此專案集合的資料庫,您也必須指定實例的名稱,如下列範例所示:

    ServerName\InstanceName

  2. 如果您想要建立集合的資料庫,請選擇 [ 為此集合建立新資料庫 ]。 此選項需要 Visual Studio Team Foundation Background Job Agent 所使用的服務帳戶具有在實例上建立資料庫的許可權 SQL Server。

    或者,如果您想要使用已經存在的資料庫,然後選擇 [使用此現有的資料庫 ],並指定資料庫的名稱。 這個選項需要具名的 SQL Server 執行個體上有空白資料庫存在,而且您要有寫入權限。

SQL Server Reporting Services

  1. 如果您已將應用層設定為使用 SQL Server Reporting Services,則會出現報表,否則會停用。 若要稍後進行設定,請參閱 新增報表伺服器

  2. 檢閱伺服器和將裝載報表的資料夾資訊,然後選擇 [ 下一步]。 這個選項要求您的使用者帳戶要有能夠在執行 Reporting Services 的伺服器上建立資料夾的權限。

    除非您企業基礎結構的安全性限制導致無法在精靈中自動建立資料夾,否則您應該使用預設選項來建立資料夾。

  3. 如果您必須在執行 Reporting Services 的伺服器上為您建立的資料夾,請展開 [進階設定],選擇 [指定現有資料夾的路徑],並指定已為您建立之資料夾的相對路徑。

    選擇 [驗證路徑],如果路徑正確,請選擇 [ 下一步]。

驗證程序

  1. [整備檢查] 中,檢閱檢查的狀態。

    任何包含錯誤的組態旁邊會出現藍色底線 的錯誤 指標。 您可以選擇指標,以取得關於問題的詳細訊息。 您必須先處理所有錯誤,才能繼續進行。

    通過所有整備檢查之後,請選擇 [建立]。

  2. 建立專案集合的程式隨即啟動。

    [建立 Team 專案集合] 對話框的螢幕快照,其中顯示建立程式已成功。

    精靈完成之後,選擇 [關閉]。

卸離或刪除專案集合

當您要執行維護作業時,您可以中斷連結專案集合,例如移動或分割集合。 當您中斷連結集合時,Teams 無法存取專案或原始程式碼。

當您不再需要儲存在集合中定義之項目中的數據時,就會刪除集合。 刪除集合的三個步驟 (1) 卸離集合, (2) 刪除集合資料庫。

中斷集合的連結

  1. 從管理控制台中,反白顯示您想要刪除的集合名稱,然後選擇 [ 卸離集合]。

    選取 [卸離集合] Azure DevOps Server 2022 的螢幕快照。

    選取 [卸離集合] 的螢幕快照,Azure DevOps Server 2019-2020。

  2. 遵循 卸離 Team 專案集合精靈所提供的指引。

    (選擇性) 在 [ 提供專案集合的服務訊息 ] 頁面上,於 [服務訊息] 中,為可能嘗試連線到此集合中的專案的使用者指定訊息。

  3. 當所有整備檢查都成功完成時,請選擇 [中斷連結]。

    在 [ 監視專案集合卸離進度 ] 頁面上,當所有進程都完成時,請選擇 [ 下一步]。

  4. (選擇性) 在 [檢閱此專案集合的補充資訊 ] 頁面上,記下記錄檔的位置。

刪除收集資料庫

  1. 開啟 SQL Server Management Studio,連接到裝載集合資料庫的 SQL Server Database Engine 實例,然後展開 實例。

    默認會反白顯示集合資料庫的名稱 (,TFS_CollectionName) ,然後刪除資料庫。

    如需詳細資訊,請參閱 刪除資料庫

專案集合不再出現在管理控制台中的集合清單中。

問答集

問:是否有命令行工具來管理集合?

答: 您可以使用 TFSConfig 集合 命令來附加、卸離、刪除或複製專案集合。

問:建立多個專案集合的優缺點為何?

如果您的開發工作將受益於分支和合併程式代碼的能力,或者您必須查詢與相同程式代碼相關的工作項目狀態,您應該合併相同專案集合中的專案。

答:建立多個集合的優點

您可以更清楚地將一個程式碼基底或其他專案分組的作業需求,與另一個分組的作業需求加以區隔。 因為每個集合的資料都是儲存在自己的資料庫中,所以您可以單獨管理每個集合的許多層面,而無須配合您所部署的其他集合。 例如,您可以個別停止和啟動每個集合。 因此,您可以將每個集合的維護作業排定在不同的時間執行。

將專案分組成多個集合提供下列優點:

  • 在管理和散發資料庫和資源方面具有更大的彈性和延展性。 一組相關的專案會共享報表、工作專案和程式指引,以及程式代碼基底。

    若為每個集合各建立一個資料庫,小組和系統管理員就可以執行下列工作:

    • 根據集合內的專案需求,建置、分支、合併及逐一查看自發程式碼基底。 位於集合外的程式碼相依性也可受到正式管理。
    • 針對每個集合各自獨立備份及還原資料。
    • 將所有集合資料庫儲存在 SQL Server 的單一執行個體上,或是將資料庫散發到一或多個執行個體。
    • 卸離集合、備份集合,然後將它還原至不同的 Azure DevOps 部署。
    • 重新指派資源,以更符合專案的需求,因為它們會隨著時間增加大小。
  • 增加作業安全性。 因為每個集合都有自己的使用者和權限組合,所以隔離不同的程式碼基底可以隔離在不同的集合之下。 系統管理員可以將使用者只加入至包含屬於該特定程式碼基底之專案的集合中。

  • 增加支援自定義工作流程程式的功能。 每個集合各自管理不同於其他集合的流程範本、工作項目類型、連結類型、全域清單和工作項目欄位。 藉由將具有不同工作流程程式的專案分成不同的集合,您只會公開集合內這些專案所需的自定義專案。

答:建立多個集合的缺點

建立多個專案集合的主要缺點是您增加 Azure DevOps 部署的複雜度。

  • 您必須備份和還原每個集合的資料庫,而其他的管理和維護工作也會隨著您擁有的集合數等比增加。 例如,您必須個別管理每個專案集合的使用者和許可權集合。
  • 小組無法跨集合連結工作項目。
  • 小組無法跨集合將程式碼分支或合併。
  • 小組無法跨集合建立查詢。

問:在集合層級管理哪些資源?

答: 每個專案都屬於集合。 若要瞭解如何管理集合,請參閱 開始管理您的組織或專案集合

問:針對不同小組集合儲存的數據如何支持報告?

答: 單一關係型數據倉儲包含 Azure DevOps 部署之所有專案集合中定義之所有專案的可報告數據。 接著會處理該倉儲中的資料,並且寫入至 OLAP Cube。 由於數據會收集到單一數據倉儲中,因此您可以跨多個專案集合報告。

若要建立或自定義報表,您必須 將用戶帳戶新增至 TfsWarehouseDataReader 角色。 報表作者需要關聯式資料倉儲和 Analysis Services Cube 的讀取權限。 這些帳戶可以檢視 Azure DevOps 部署中所有專案集合中裝載之所有 Team 項目的數據。 無法限制對專案或集合的存取。

問:如何? 使用集合調整部署規模?

答: 請參閱 移動專案集合分割專案集合