Question

Lors de la configuration de CruiseControl, j'ai ajouté un buildpublisher bloc à l'éditeur des tâches:

<buildpublisher>
  <sourceDir>C:\MyBuild\</sourceDir>
  <publishDir>C:\MyBuildPublished\</publishDir>
  <alwaysPublish>false</alwaysPublish>
</buildpublisher> 

Cela fonctionne, mais il copie l'intégralité du contenu du fichier de la construction, je ne veux copier le DLL et .les pages aspx, je n'ai pas besoin du code source pour avoir publié.

Personne ne sait de façon à ce filtre, ou dois-je configurer une tâche à exécuter un RoboCopy script à la place?

Était-ce utile?

La solution

J'ai créé un groupe pour ce faire.Je ne suis pas au courant de toute façon de faire de CruiseControl être que spécifique.J'ai l'habitude de simplement de la chaîne d'un fichier de commandes pour faire de la copie de la CC.net de la tâche.

Autres conseils

Je ne suis pas sûr qu'avec un projet web, mais pour notre winforms app, vous pouvez saisir le TargetOutputs de la tâche MSBuild comme suit:

<MSBuild Projects="@(VSProjects)"
  Properties="Configuration=$(Configuration)">
  <Output TaskParameter="TargetOutputs" ItemName="BuildTargetOutputs"/>
</MSBuild>

et puis faire une copie:

<Copy SourceFiles="@(BuildTargetOutputs)" 
  DestinationFolder="bin"
  SkipUnchangedFiles="true" />

Pas sûr de ce que l'TargetOutputs sont pour un projet web, mais pour winforms et les bibliothèques de classes, c'est l' .dll ou .exe.

La build par défaut dans l'éditeur CC.NET ne fournit pas un moyen pour ce faire.Vous avez plusieurs options:

  • Créer votre propre compilation de l'éditeur avec la fonctionnalité désirée
  • Créer un personnalisé NAnt/tâche MSBuild
  • L'utilisation d'une technologie de script (RoboCopy, fichier de lot, etc.) pour créer un fichier de script et exécutez un "Exécutable" tâche pour CC.NET ou un "exec" à la tâche pour NAnt/MSBuild

Un CC.Net Powershell tâche peut être utilisé pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top