自訂您的建置流程範本

如果您希望建置流程的功能比預設範本多,可以將建置流程範本自訂為遵循您的 Windows Workflow Foundation (WWF) 指示。 您的指令可在 CodeActivity 物件中實作的 .NET Framework 程式碼。 您可以視需要執行由協力廠商提供或您自行建立的 Team Foundation Build (TFBuild) 內建活動。

提示

如果可以使用 Windows 批次檔或 PowerShell 指令碼撰寫自訂建置流程功能的程式碼,則可以上傳指令碼並當做建置流程的一部分來執行。這個方法比建立自訂建置流程可能更快速且更容易。請參閱 在建置流程中執行指令碼

  • 啟動自訂建置流程方案並建立範本

  • 在組建定義中使用自訂範本

  • 取得常見問題的解答

啟動自訂建置流程方案並建立範本

在您實作指示之前,請從 Team Foundation Server 擷取預設範本的複本,再將它加入至 Visual Basic 程式碼專案中。

重要

您使用的是 Git 圖示Git Team 專案 嗎?您想要上傳建置流程活動二進位檔嗎?如果是,儲存二進位檔 (尤其是對大型檔案所做的許多修改) 可快速擴充 Git 儲存機制的大小。建議您將自訂建置流程二進位檔和用於建置應用程式的程式碼,分別儲存在不同的儲存機制。您可以為建置流程建立不同的 Team 專案,也可以在現有的 Team 專案中另外建立儲存機制

  1. 連接 (鍵盤:Ctrl + 0、C) 至您計劃用於儲存建置流程來源的 Team 專案 (或 Git 圖示 Git 儲存機制)。

  2. 建立新的程式碼專案 (鍵盤:Ctrl + Shift + N)。

    具體來說,可建立新方案 (例如 BuildProcessSource),其中包含新的 Visual Basic 工作流程活動程式庫程式碼專案 (例如 Templates)。 將方案加入至容易了解之位置中版本控制下的新目錄。

    TFVC 圖示 TFVC 範例:C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\

    Git 圖示 Git 範例:C:\Users\YourName\Source\Repos\BuildProcesses\

    建立程式碼專案以包含新範本

    編輯範本時為何需要程式碼專案?

  3. 在組建頁面 (鍵盤:Ctrl + 0、B) 建立或編輯組建定義。

    [新增組建定義] 或 [編輯組建定義]

  4. 下載預設範本的複本。 將新範本和您在本程序稍早階段建立的程式碼專案儲存在同一個資料夾中。

    TFVC 圖示 TFVC 範例:C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Templates

    Git 圖示 Git 範例:C:\Users\YourName\Source\Repos\BuildProcesses\BuildProcessSource\Templates

    組建定義中 [流程] 索引標籤上的 [下載] 連結

    另存新檔對話方塊

  5. 在方案總管 (快速鍵:CTRL + ALT + L) 中,將範本加入至 Templates 專案。

    將建置流程範本檔加入至專案

    [加入現有項目] 對話方塊

    您不需要 Activity1.xaml 檔案,因此可以將它刪除。

  6. 將範本的 [建置動作] 屬性設定為 [內容]。

    將 [建置動作] 設定為 [內容]

  7. 將下列參考加入至 Templates 程式碼專案:

    如何將這些參考加入至程式碼專案?

    儲存程式碼專案。

  8. 實作 "Hello World!" 訊息,如此一來,在您簽入並執行範本後,就可以確認是否有正常運作。 若要這麼做,請將 WriteBuildMessage 活動拖曳至工作流程中,並將其 BuildMessageImportance 屬性設為 Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High。

    WriteBuildMessage 活動已加入範本中

  9. 儲存範本並上傳您的新方案。 如果您使用 TFVC 圖示 TFVC,請簽入暫止的變更 (鍵盤:Ctrl + 0、P),如果使用 Git 圖示 Git,請認可 (鍵盤 Ctrl + 0、G) 並推送。

    使用 TFVC 或 Git 上傳變更

在組建定義中使用自訂範本

如上所述將自訂建置流程範本上傳至 Team 專案之後,即可使用組建定義的範本。

  1. 在組建頁面 (鍵盤:Ctrl + 0、B) 建立或編輯組建定義。

  2. 在組建定義 [流程] 索引標籤上,依序選擇 顯示詳細資料 [顯示詳細資料] 和 [新增]。

    組建定義、[流程] 索引標籤、[新增] 按鈕

  3. 選擇 [新增] 之後:

    • TFVC:輸入或瀏覽至範本在 Team Foundation Server 上的路徑。

    • Git:輸入或瀏覽至範本在開發電腦上的路徑。

  4. 指定範本路徑之後,您可以從清單中選取該範本。

    組建定義中選取的 CustomTemplate

  5. 如果您要建立新的組建定義,請選取您要建立的方案,並指定預備環境位置和您需要的其他任何選項。 請參閱 建立或編輯組建定義。 完成後,請儲存組建定義。

  6. 在組建頁面 (快速鍵 CTRL + 0、B) 上,將組建排入佇列

    從 [組建] 頁面上佇列組建

  7. 完成組建後,檢視結果以檢查自訂工作流程的執行成效是否如您所預期。

    組建記錄檔中出現的 "Hello World!" 訊息

問與答

問:我沒有權限,所以被系統封鎖了。該如何取得?

答:Team Foundation Server 的權限參考

問:編輯範本時為何需要程式碼專案?

答: 您必須在程式碼專案中編輯範本,這是因為

  • 當您嘗試在程式碼專案內容以外編輯範本時,可能會發生問題。

  • 除非您在建置流程範本所在的相同方案中開發建置流程活動,否則可能會發生問題。 透過這種方式,當您需要在流程範本中使用其中一個活動時,即可在工作流程設計工具箱中找到該活動。 不過,您不可以將活動的原始程式碼和建置流程範本儲存在同一個程式碼專案中。 請參閱 使用及開發自訂建置流程活動

問:如何加入我需要的參考才能使用 TFBuild 流程?

**答:**使用參考管理員加入參考

檢視程式碼專案參考並開啟 參考管理員

自訂範本程式碼專案的參考

[參考管理員] 對話方塊

瀏覽至 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0,然後選取並加入:

[選取要參考的檔案] 對話方塊

[參考管理員] 對話方塊

問:我是否可以跨 Team 專案共用範本?

**答:**可以。 您可以向多個 Team 專案註冊範本。 這項功能表示您可以在 Team 專案集合中包含範本的任何 Team 專案之間共用建置流程。

問:如果我修改自己的建置流程範本,使用這個範本的組建定義會如何?

**答:**如果需要修改範本,應計劃檢閱所有以該範本為基礎的組建定義,並且在完成變更範本之後更正這些組建定義。 如果您沒有這麼做,組建定義可能會失敗或以非預期的方式運作。

問:如果刪除建置流程範本會如何?

**答:**如果您決定要刪除建置流程範本,請務必先找出並刪除所有以該範本為基礎的組建定義。 當您刪除該範本時,任何以該範本為基礎的其餘組建定義將無法再運作。

問:我的自訂建置流程為何會發生錯誤?

**答:**某些錯誤的常見原因如下:

  • TF215097:如果您的自訂活動缺少必要的屬性,或是您嘗試在包含自訂活動的相同程式碼專案中編輯範本,就有可能出現錯誤。

  • MSBuild 錯誤 XC1014:如果未將範本的 [建置動作] 設定為 [內容],就有可能出現錯誤。

如果您收到上述其中一個錯誤,請確定您沒有遺漏上述程序的其中一個步驟。

您可能也會覺得這個主題有用:診斷組建的問題

問:何謂 Windows Workflow Foundation?如何使用?

答: Windows Workflow Foundation

問:如何取得環境變數資料?

答: 使用自訂建置流程的環境資料

問:如何進一步了解內建活動?

答: Team Foundation Build 活動

如果內建活動不符合我的需要,該怎麼做?

答: 自行開發自訂建置流程活動

問:如何取得範本、工作流程活動和指令碼?

答: Community TFS Build 擴充功能

問:如何進一步了解開發自訂建置流程的方法?

答: 組織化解答:自訂 Team Foundation Build 流程