2010-05-06 10 views
5

Ich bin neu in der Verwendung von TFS-Build. Ich habe einen Build definiert, der als kontinuierliche Integration ausgeführt wird. Es erstellt einen Ablageordner, aber darin ist nichts enthalten.Wie lege ich Dateien in den TFS-Build-Ablageort ein

Was ist die beste Vorgehensweise beim Verschieben von Dateien im Drop-Ordner? Ich habe einen Binaries-Ordner gesehen, muss ich Dinge dorthin kopieren, oder ändere ich TFSbuild.proj auf irgendeine Weise, um die gewünschten Dateien in den Ablageordner zu kopieren?

Antwort

1

schien ich durch Zugabe dieses in der Nähe des Endes meines 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> 

Es kopiert wollte msi-Dateien in die Ordner Binaries, die das normale tfs Build-System kopiert dann an den Ablageort es zum Laufen zu bringen. Ich habe bemerkt, dass der Binaries-Ordner bei jedem Start gelöscht wird, so dass Sie sich keine Sorgen machen müssen.

Das PackageBinaries-Ziel scheint der Standardzielname zu sein, den Sie für diese Art von Vorgang überschreiben können.


aktualisieren Neuere Versionen von TFS haben wahrscheinlich bessere Möglichkeiten!

3

Es klingt als ob Sie verschiedene Dateien von Ihrem Arbeitsbereich (oder anderswo) in den Ablageort kopieren möchten.

Das obige Ziel gibt Ihnen ein Beispiel für das Erstellen eines Ziels zum Kopieren von Dateien, aber Sie werden sich wahrscheinlich fragen, wie Sie es in Ihrem TFSBuild.proj anschließen können.

Eine einfache Methode hierfür ist die Verwendung eines der vordefinierten Skelettziele wie AfterDropBuild. Wenn Sie ein Ziel wie das oben erwähnte zum Kopieren Ihrer Dateien hatten, würden Sie dies in TFSBuild.proj:

<CreateItem Include="$(SolutionRoot)\Source\RandomFilesInWorkspaceFolder\**\*.*"> 
    <Output TaskParameter="Include" ItemName="RandomFiles" /> 
</CreateItem> 
<Copy SourceFiles="@(RandomFiles)" DestinationFiles="@(RandomFiles->'$(DropLocation)\RandomDestinationSubFolder\%(RecursiveDir)%(Filename)%(Extension)')" /> 
setzen
Verwandte Themen