共用方式為


管理組建資訊和控制詳細資訊

更新:2011 年 4 月

您可以取得下列各種有關已完成的組建之資訊:

  • **組建是如何執行的?**組建是否成功? 組建是何時開始的? 組建執行了多久? 相較於先前的組建,這個組建是如何執行的?

  • **建置什麼?**這個組建進行了哪些方案、變更集和 Bug 修正?

  • **哪裡出現?**發生了什麼警告或錯誤? 哪些測試失敗?

定義建置流程時,您可以有系統地控制儲存每個已完成的組建之資訊的詳細等級。 或者,在手動將單一組建回合排入佇列時,您也可以在控制它的詳細等級。

本主題內容

  • 組建資訊的產生方式和流程

    • 定義建置流程

    • 建置流程已排入佇列並等候執行

    • 組建資訊已產生、已篩選和已儲存

    • 擷取組建資訊

  • 設定記錄詳細資訊的建置流程參數

  • 最佳做法:設定詳細等級越低越好

    • 執行組建時使用最低的詳細等級

    • 設計自訂建置流程範本時使用最低的詳細等級

  • 如需詳細資訊

組建資訊的產生方式和流程

建置流程資訊和詳細等級設定

定義建置流程

步驟 1 開發建置流程時,您可以有系統地控制資訊的詳細等級。 建立或編輯以 DefaultTemplate.xamlUpgradeTemplate.xaml 為基礎的組建定義時,會顯示 [流程] 索引標籤。 在 [基本] 節點中,您可以選取 [記錄詳細資訊] 清單中的值以指定這個建置流程參數。

如果內建流程範本不符合您的需求,您可以開發自訂建置流程範本。 建立這種範本時應該要仔細撰寫組建資訊。 如需詳細資訊,請參閱管理自訂建置流程範本中的組建詳細等級。

建置流程已排入佇列並等候執行

步驟 2 當您將以 DefaultTemplate.xamlUpgradeTemplate.xaml 為基礎的組建定義排入佇列時,您可以手動覆寫 [記錄詳細等級] 設定。 在 [佇列組建] 對話方塊中顯示 [參數] 索引標籤,然後展開 [基本] 節點,再選取 [記錄詳細資訊] 清單中的值以指定這個建置流程參數。 這個值會套用至單一組建回合。

組建資訊已產生、已篩選和已儲存

步驟 3 建置系統會將 [詳細資訊] 建置流程參數中的值傳遞至 Verbosity 屬性。 這個屬性是用來透過下列來源的 Information,篩選資料倉儲中記錄及儲存的組建資訊:

  • 工作流程活動:數個工作流程活動會在作業成功時產生訊息,或在作業失敗產生警告或錯誤。 例如,SyncWorkspace 活動會在將原始程式碼和其他檔案從伺服器下載到組建代理程式時產生重要性低的訊息, 而在下載檔案失敗時產生錯誤。 另一個範例是,OpenWorkItem 活動會在無法建立工作項目時產生警告。

    您可以使用其他工作流程活動,直接撰寫您自己的組建資訊。 如需詳細資訊,請參閱設計一個以所需的最低詳細等級寫入資訊的自訂建置流程範本。

  • MSBuild :建置流程會以 MSBuild 活動來運用 MSBuild,以便編譯二進位碼以及執行其他必要的工作。 此活動的 Verbosity 屬性會控制此流程產生並發行至下列位置之資訊的詳細等級:

    • 資料倉儲會儲存編譯結果、錯誤和警告。

    • 置放資料夾中的記錄檔會將與資料倉儲相同的資訊以及 MSBuild 產生的其他訊息一起儲存。

  • MSTest:建置流程會以 MSTest 活動來運用 MSTest.exe,以便執行測試。 此流程產生的所有訊息會被歸類為高重要性,並發行至資料倉儲和至置放資料夾中的記錄檔。

擷取組建資訊

步驟 4 建置執行中時或完成後,您可以從組建結果視窗擷取摘要和詳細資訊。 您可以從這個視窗將這項資訊複製到 [剪貼簿]。 您也可以直接連結置放資料夾來擷取記錄檔、二進位檔和其他資料。

記錄詳細資訊的建置流程參數

在以 DefaultTemplate.xamlUpgradeTemplate.xaml 為基礎的建置流程中,您可以使用 [記錄詳細資訊] 建置流程參數來管理已記錄或儲存之資訊的詳細等級。

下表列出 [記錄詳細資訊] 的值和其對應效果:

錯誤

警告

高重要性訊息

普通重要性訊息

低重要性訊息

工作流程活動屬性 (輸入和輸出)

最小

Y

N

N

N

N

N

一般

Y

Y

Y

N

N

N

詳細

Y

Y

Y

Y

N

N

診斷 (一般應該只適用於偵錯建置流程)

Y

Y

Y

Y

Y

Y

最佳做法:設定詳細等級越低越好

雖然組建資訊很重要,但記錄過多資訊的建置流程可能導致問題。 這些問題可能包括耗用過多資料倉儲的儲存空間、降低 Visual Studio 效能,以及造成小組成員負荷的資訊超過可處理的資訊。

執行組建時使用最低的詳細等級

執行組建時,一般應該遵循使用最低詳細等級設定的最佳做法,提供完成目標所需的資訊。

例如,您可能會執行組建以產生包含最新程式碼變更的二進位檔。 在大部分的情況下,[一般] 詳細等級可能就夠用了。 不過,如果疑難排解建置流程 Bug 或罕見的程式碼編譯失敗,則可能會用到 [詳細] 或 [診斷] 詳細等級。

設計自訂建置流程範本時使用最低的詳細等級

建置流程的使用者會依賴詳細等級篩選來降低資訊負荷。 您可以採取下列措施,使得這項篩選更有效:

注意事項注意事項

如果在迴圈結構 (例如 DoWhileForEach<T>While) 內使用這些活動,這類決策的影響可能會特別劇烈。

如需詳細資訊

Team Foundation Build 活動說明本主題所述的建置流程工作流程活動。

使用預設範本定義組建使用升級範本定義組建提供有關如何建立組建定義的指引。

檢視建置結果視窗提供有關如何使用建置結果視窗的指引。

IBuildDetailBuildMessageImportanceBuildVerbosity 說明一些主要的 Team Foundation Build API 項目,提供組建資訊功能。

MSBuild 命令列參考說明 MSBuild。

指定組建觸發程序和原因將組建排入佇列說明如何自動及手動將組建排入佇列。

變更記錄

日期

記錄

原因

2011 年 4 月

加入主題。

資訊加強。