共用方式為


HOW TO:針對累加建置設定 Team Foundation Build

更新:2007 年 11 月

累加建置 (Incremental Build) 會重複使用 Team Foundation Build 所維護之上一個組建的結果,以根據上一個組建之後所做的變更來執行最佳化建置。

當您為累加建置建立組建定義之後,請執行第一個組建。如此會建立必要的工作區 (Workspace),並將所有原始程式檔 (Source File) 放到組建電腦上。

必要條件

在您完成這項工作之前,必須具備以下條件:

  • 能夠存取您要自訂之組建類型的 TFSBuild.proj 檔案。

    每一個 Team Build 定義都有一個與其關聯的 TFSBuild.proj 檔,該檔案位於 Team Foundation 版本控制的 $/MyTeamProject/TeamBuildTypes/MyBuildName 資料夾內。MyTeamProject 是 Team 專案的名稱,它是所有 Team 專案來源的根節點。MyBuildName 是您提供給組建定義的名稱。如需如何建立 Team Foundation Build 組建類型的詳細資訊,請參閱 HOW TO:建立組建定義

  • 本機工作區,其中包含本機電腦上的 Team 專案檔及組建檔案。

    如需詳細資訊,請參閱HOW TO:建立對應工作區HOW TO:取得 Team 專案的原始檔

必要的使用權限

您必須將 [管理組建] 和 [管理工作區] 使用權限都設定為 [允許],才能完成此工作。您也必須將 [簽入] 和 [簽出] 使用權限設定為 [允許]。如需詳細資訊,請參閱 Team Foundation Server 使用權限

取得 TFSBuild.proj 檔案的本機複本

在您變更會定義組建定義的 TFSBuild.proj 檔案之前,必須先取得本機複本。

若要取得 TFSBuild.proj 檔案的本機複本

  1. 在 [檢視] 功能表上,選取 [其他視窗],然後選取 [原始檔控制總管]。

  2. 在 [原始檔控制總管] 中,按一下工具列上的 [工作區],然後從清單中選取您的工作區。

  3. 開啟包含您組建類型的 Team 專案資料夾,然後展開 [TeamBuildTypes] 資料夾。

  4. 以滑鼠右鍵按一下 TFSBuild.proj 檔案,然後選取 [取得最新的版本] 來複製此檔案的最新版本。

    如需詳細資訊,請參閱 HOW TO:取得 Team 專案的原始檔

設定 TFSBuild.proj 檔案中的屬性

若要指定累加建置,您必須在 TFSBuild.proj 檔案中設定 IncrementalBuild 屬性。

若要設定 TFSBuild.proj 檔案中的屬性

  • IncrementalBuild 屬於快捷屬性,它會將 SkipClean 設定為 true、將 SkipInitializeWorkspace 設定為 true,並將 ForceGet 設定為 false。

  • 當 Team Foundation Build 執行完整建置時,它會清除 Clean 目標內的中介組建資料夾與來源資料夾中的檔案。在累加建置中,必須略過這個目標,因為這些檔案在下一個組建中必須原封不動。若要達成這個目的,請將 SkipClean 設定為 true。

  • 在完整建置的過程中,Team Foundation Build 會刪除舊的檔案,並重新建立新的工作區來清除及同步處理來源檔案。在累加建置中,也必須略過這個目標。若要達成這個目的,請將 SkipInitializeWorkspace 設定為 true。

  • Get 工作中,Team Foundation Build 預設會擷取新的來源檔案,以及覆寫組建工作區內的現有檔案。如果只要擷取變更過的檔案,請將 ForceGet 屬性設定為 false。

    若要將 IncrementalBuild 屬性設定為 true,請將 PropertyGroup 定義加入至 TFSBuild.proj 檔案結尾的結束 </project> 標記之前。

    </ItemGroup>
       <PropertyGroup>      <IncrementalBuild>true</IncrementalBuild>   </PropertyGroup>
    </Project>
    

請參閱

工作

逐步解說:使用自訂工作自訂 Team Foundation Build

概念

可自訂的 Team Foundation Build 目標

將變更送出至版本控制伺服器

其他資源

自訂 Team Foundation Build