2010-05-06 7 views
5

Je commence à utiliser la construction TFS. J'ai une construction définie qui fonctionne comme une intégration continue. Il crée un dossier de dépôt, mais il n'y a rien dedans.Comment placer des fichiers dans l'emplacement de dépôt TFS Build

Quelle est la meilleure pratique pour déplacer des éléments dans le dossier de dépôt? J'ai vu un dossier Binaries, ai-je besoin de copier des choses là-dedans, ou est-ce que je modifie le TFSbuild.proj d'une manière ou d'une autre pour copier les fichiers que je veux dans le dossier de dépôt?

Répondre

1

me semblait le faire fonctionner en ajoutant ce à la fin de mon 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> 

exemplaires Il voulait msi dans le dossier Binaires que le système de construction de TFS normale puis copie à l'emplacement de dépôt. J'ai remarqué que le dossier Binaries est supprimé à chaque démarrage d'une build, vous n'avez donc pas à vous inquiéter du nettoyage.

La cible PackageBinaries semble être le nom de cible standard que vous pouvez remplacer pour faire ce genre de chose.


Mise à jour Les nouvelles versions de TFS ont probablement de meilleures façons!

3

Il semble que vous vouliez copier des fichiers divers de votre espace de travail (ou d'ailleurs) vers l'emplacement de dépôt?

La cible ci-dessus vous donne un exemple de la façon de créer une cible pour copier des fichiers, mais vous vous demandez probablement comment l'intégrer dans votre fichier TFSBuild.proj.

Une façon simple de faire cela est d'utiliser l'une des cibles squelette prédéfinies pour cela, comme AfterDropBuild. Si vous aviez une cible comme celle mentionnée ci-dessus pour copier vos fichiers, vous la mettrez dans TFSBuild.proj:

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