我是使用TFS生成的新手。我已經定義了一個作爲持續集成運行的構建。它創建了一個drop文件夾,但沒有任何內容。我如何把文件放在TFS生成放置位置
移動放置文件夾中的東西的最佳做法是什麼?我看過一個Binaries文件夾,我需要將東西複製到那裏,還是以某種方式修改TFSbuild.proj以將我想要的文件複製到drop文件夾?
我是使用TFS生成的新手。我已經定義了一個作爲持續集成運行的構建。它創建了一個drop文件夾,但沒有任何內容。我如何把文件放在TFS生成放置位置
移動放置文件夾中的東西的最佳做法是什麼?我看過一個Binaries文件夾,我需要將東西複製到那裏,還是以某種方式修改TFSbuild.proj以將我想要的文件複製到drop文件夾?
我好像得到它的工作,加入這個靠近我TFSBuild.proj
<Target Name="PackageBinaries">
<ItemGroup>
<FilesToDrop Include="$(SolutionRoot)\MyProduct\Installer\Bin\**\*.msi"/>
</ItemGroup>
<Message Text="[email protected](FilesToDrop)"/>
<Copy SourceFiles="@(FilesToDrop)"
DestinationFiles="@(FilesToDrop ->'$(BinariesRoot)\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
它複製想MSI文件到文件夾中的二進制文件其中正常TFS構建系統然後複製到放置位置結束。我注意到Binaries文件夾每次開始構建時都會被刪除,因此您不必擔心清理問題。
PackageBinaries目標似乎是您可以重寫以執行此類事情的標準目標名稱。
更新較新版本的TFS的可能有更好的方法!
這聽起來像你想從工作區(或其他地方)複製雜項文件到放置位置?
上面的目標爲您提供了一個如何創建目標以複製文件的示例,但您可能想知道如何將它連接到TFSBuild.proj中。
一個簡單的方法是使用預定義的骨架目標之一,如AfterDropBuild。如果你有一個像上面提到的複製你的文件的目標,你可以把它放在TFSBuild.proj中:
<CreateItem Include="$(SolutionRoot)\Source\RandomFilesInWorkspaceFolder\**\*.*">
<Output TaskParameter="Include" ItemName="RandomFiles" />
</CreateItem>
<Copy SourceFiles="@(RandomFiles)" DestinationFiles="@(RandomFiles->'$(DropLocation)\RandomDestinationSubFolder\%(RecursiveDir)%(Filename)%(Extension)')" />