簡體   English   中英

有沒有辦法識別在 Azure Devops CI 構建中簽入的 TFS 分支?

[英]Is there a way to identify the TFS branch that was checked into in an Azure Devops CI build?

我有一個大約有 4 個分支的 TFVC 項目。 我需要以某種方式設置構建和發布管道,為每個分支構建一個工件。 因為我最終需要在其他地方重復這個過程,所以我想避免必須為每個分支復制相同的構建管道。 我能夠在管道啟動時使用用戶定義的變量配置一個可以在我需要的任何分支上工作的單個構建管道,但現在我需要在構建中啟用持續集成。

我當前的構建管道觸發器配置

我需要這樣做,以便每當有人簽入 TFVC 分支之一時,構建就會開始,並且可以正確識別哪個分支被更新。 根據我的發現,這意味着我最初對用戶定義變量的想法不再適用。 是否有一個預定義的管道變量可以用來判斷哪個分支被簽入,以便該分支是被簽出和構建的分支? 如果沒有,是否有其他方法可以在一個管道中執行此操作,或者我最終是否需要為每個分支復制此構建管道?

抱歉,它不適用於Azure DevOps/TFS 構建管道中的 TFVC。

對於 CI 觸發器,您可以選擇要包含和排除的版本控制路徑。 在大多數情況下,您應該確保這些過濾器與存儲庫選項卡上的 TFVC 映射一致。 它無法根據持續集成觸發構建管道的分支動態設置工作區映射路徑。

您還可以看看 Daniel 在這個問題中的解釋: 當我的 TFS 構建是由特定於分支的簽入觸發時,為什么不將該分支設置為其源?

TFVC 依靠工作區映射來知道要下載什么。 工作區映射可以包含跨不同團隊項目的多個 TFVC 存儲庫、單個存儲庫中的多個分支......

因此,它無法了解如何針對特定分支動態更改工作區映射。

結論:您可能需要為每個分支構建一個,復制管道只需更改觸發器和工作區映射中的路徑過濾器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM