建置 TFVC 存放庫

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

重要

傳統管線僅支援 TFVC,而且不支援 YAML。

選擇要建置的存放庫

編輯使用 TFVC 存放庫的管線時,您有下列選項。

  • Clean
  • 指定本機路徑
  • 標籤來源

儲存機制名稱

TFVC 存放庫的名稱。

對應 (工作區)

包含對應組建管線所需的資料夾類型值。 如果對應資料夾的子資料夾包含建置管線不需要的檔案,請使用 Cloak 的類型值來對應它。

請確定您 對應 包含建置管線所需檔案的所有資料夾。 例如,如果您新增另一個專案,您可能需要將另一個對應新增至工作區。

您不需要的斗 篷資料夾。 根據預設,專案根資料夾會對應到工作區中。 此組態會導致組建代理程式下載專案版本控制資料夾中的所有檔案。 如果此資料夾包含大量數據,您的組建可能會浪費建置系統資源,並藉由下載不需要的大量數據來減緩組建管線的速度。

當您移除專案時,請尋找您可以從工作區移除的對應。

如果這是 CI 組建,在大部分情況下,您應該確定這些對應符合 [觸發程式] 索引卷標上 CI 觸發程式的篩選設定。

如需如何優化 TFVC 工作區的詳細資訊,請參閱 優化您的工作區

清除代理程式上的本機存放庫

您可以在組建執行之前,執行不同形式的清除自我裝載代理程式的工作目錄。

一般而言,為了加快自我裝載代理程式的效能,請勿清除存放庫。 在此情況下,若要獲得最佳效能,請確定您也會藉由停用您用來建置之工作或工具的任何 Clean 選項,以累加建置。

如果您需要清除存放庫(例如避免先前組建中剩餘檔案所造成的問題),您的選項如下。

注意

如果您使用 Microsoft 裝載的代理程式 ,則清除並不相關,因為您每次在該案例中都會收到新的代理程式。

如果您要清除存放庫,請選取 true,然後選取下列其中一個選項:

  • 來源:建置管線會執行任何變更的復原,並將目前的工作區燒焦在下$(Build.SourcesDirectory)

  • 來源和輸出目錄:與 上述 [來源 ] 選項相同的作業,以及:刪除並重新建立 $(Build.BinariesDirectory)

  • 來源目錄:刪除並重新建立 $(Build.SourcesDirectory)

  • 所有建置目錄:刪除並重新建立 $(Agent.BuildDirectory)

CI 觸發程式

如果您想要每當有人簽入程式代碼時執行組建,請在 [觸發程式] 索引卷標上選取 [啟用持續整合],以啟用此觸發程式。

CI 觸發程式。

批次變更

如果您有許多小組成員經常上傳變更,而且您想要減少您正在執行的組建數目,請選取此複選框。 如果您選取此選項,當組建執行時,系統會等候組建完成,然後將尚未建置之所有變更的另一個組建排入佇列。

您可以批處理變更,並將它們一起建置。

路徑篩選

選取您想要包含和排除的版本控制路徑。 在大部分情況下,您應該確定這些篩選條件與您的 TFVC 對應一致。 您可以使用路徑篩選來減少您想要觸發組建的檔案集。

提示

  • 路徑一律會相對於工作區的根目錄指定。
  • 如果您未設定路徑篩選,則預設會隱含包含工作區的根資料夾。
  • 如果您排除路徑,除非您將路徑限定為更深入的資料夾,否則也無法包含該路徑。 例如,如果您排除 /tools,則可以包含 /tools/trigger-runs-on-these
  • 路徑篩選的順序並不重要。

閘道簽入

您可以使用閘道簽入來防範重大變更。

預設會選取使用篩選的工作區對應。 每當在來源對應中指定的路徑下簽入變更時,就會觸發組建。

否則,您可以清除此複選框,並在觸發程式中指定路徑。

它如何影響您的開發人員

當開發人員嘗試簽入時,系統會提示他們建置變更。

閘道簽入提示

系統接著會建立擱置集並加以建置。

注意

如果您收到之類的 The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-in錯誤,請檢查 [ 將作業授權範圍限製為目前專案是否有非發行管線 ] 設定,並確定它未啟用。

如需閘道簽入體驗的詳細資訊,請參閱 簽入受閘道簽入組建管線所控制的資料夾。

執行 CI 組建的選項

根據預設,CI 組建不會在網關簽入程式完成且簽入變更之後執行。

不過,如果您想要在網關簽入之後執行 CI 組建,請選取 [針對已認可的變更執行 CI 觸發程式] 複選框。 當您這樣做時,建置管線不會將 ***NO_CI*** 新增至變更集描述。 因此,會執行受簽入影響的 CI 組建。

其他一些要知道的事項

  • 請確定您包含在觸發程式中的資料夾也包含在工作區對應中。
  • 您可以在 Microsoft 裝載的代理程式自我裝載代理程式上執行閘道組建。

常見問題集

我在執行管線時收到下列錯誤:

The shelveset <xyz> could not be found for check-in

  • 您的 作業授權範圍 是否設定為 集合? TFVC 存放庫通常會分散到集合中的專案。 您可能正在讀取或寫入只能存取範圍是整個集合時才能存取的資料夾。 您可以在 [組織設定] 或 [管線] 索引標籤下的項目設定中設定此設定。

我在執行管線時收到下列錯誤:

The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public

  • 這通常是當服務遇到技術問題時所造成的間歇性錯誤。 請重新執行管線。

什麼是焦焦?

Scorch 是 TFVC 電源工具,可確保伺服器上的原始檔控制與本機磁碟完全相同。 請參閱 Microsoft Visual Studio Team Foundation Server 2015 Power Tools