Domanda

Durante la configurazione di CruiseControl, ho aggiunto un blocco buildpublisher alle attività dell'editore:

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

Funziona, ma copia l'intero contenuto del file della build, voglio solo copiare le pagine DLL e .aspx, non ho bisogno del codice sorgente per essere pubblicato.

Qualcuno conosce un modo per filtrarlo o devo invece impostare un'attività per eseguire uno script RoboCopy?

È stato utile?

Soluzione

Ho impostato un'attività per farlo.Non sono a conoscenza di alcun modo per rendere CruiseControl così specifico.Di solito concatena semplicemente un file batch per eseguire la copia nell'attività CC.net.

Altri suggerimenti

Non sono sicuro con un progetto web, ma per la nostra app Winforms puoi prendere TargetOutputs dall'attività MSBuild in questo modo:

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

e poi fai una copia:

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

Non sono sicuro di cosa siano TargetOutputs per un progetto Web, ma per winform e librerie di classi è .dll o .exe.

L'editore di build predefinito in CC.NET non fornisce un modo per eseguire questa operazione.Hai alcune opzioni:

  • Crea il tuo editore di build con la funzionalità desiderata
  • Crea un'attività NAnt/MSBuild personalizzata
  • Utilizzare una tecnologia di scripting (RoboCopy, file batch, ecc.) per creare un file di script ed eseguire un'attività "eseguibile" per CC.NET o un'attività "exec" per NAnt/MSBuild

Anche a questo scopo è possibile utilizzare un'attività CC.Net Powershell.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top