根據manydifferentSO-questions,應該可以使用新的TFS構建系統中的任務「複製和發佈構建工件」來排除要複製/部署的文件。TFS複製和部署:使用minimatch排除文件
但它不適用於我(它不排除任何東西)。還有什麼比我做錯了:
根據manydifferentSO-questions,應該可以使用新的TFS構建系統中的任務「複製和發佈構建工件」來排除要複製/部署的文件。TFS複製和部署:使用minimatch排除文件
但它不適用於我(它不排除任何東西)。還有什麼比我做錯了:
這是構建任務的一個已知的問題「複製和發佈構建構件」,bitbonk。
問:這一步沒有產生我期待的結果。我該如何解決它?
這一步有幾個已知問題:
- 一些minimatch模式不起作用。
- 它消除了匹配所有路徑最常見的根路徑。
嗯,這是什麼業務與您minimatch的設置。這對於構建任務來說不起作用。當然,你也可以用複製文件任務來檢查你的迷你比賽來驗證這一點。
現在,您可以避免這些問題而不是使用Copy Files step和Publish Build Artifacts step。
注意:如果它仍然沒有在複製文件上工作,請在使用minimatch時注意文件的體系結構。它一定有什麼問題。
任務根據您輸入的內容將文件複製一行一行和「!」只在複製期間排除文件,它不會刪除已經複製的文件。因此,在第一行輸入的「** \ *」中,所有文件都已被複制併發布。您需要刪除「內容」中的第一行。對於排除的文件,如果在相同的摺疊中,則需要將它們排除在一行中。例如:使用
!?(1.txt|2.txt)
排除兩者的1.txt和2.txt文件,而不是使用
!1.txt
!2.txt
這應該工作(我知道這個問題是舊的,但我需要一個答案我自己)
!?**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)
我已經嘗試了很多不同的組合,我想'(** \ System.Windows.Interactivity.resources.dll | ** \ * dll.co nfig | ** \ *。 fluentasser tions *)'我試過'!+(** \ System.Windows.Interactivity.resources.dll | ** \ *。dll.co nfig | ** \ * fluentasser tions *)'我嘗試過'** \!(System.Windows.Interactivity。我試過'** \!(System.Windows.Interactivity.resources.dll | * .dll.config | * fluentassertions *)''我試過'** \ !?(System.Windows.Interactivity.resources.dll | * .dll.config | * fluentassertions *)'。它或者排除任何東西或者一切,但不包括指定的文件 – bitbonk