Pregunta

Mientras configuraba CruiseControl, agregué un bloque buildpublisher a las tareas del editor:

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

Esto funciona, pero copia todo el contenido del archivo de la compilación, solo quiero copiar las páginas DLL y .aspx, no necesito que el código fuente se publique.

¿Alguien sabe alguna forma de filtrar esto o necesito configurar una tarea para ejecutar un script RoboCopy?

¿Fue útil?

Solución

Configuré una tarea para hacer esto.No conozco ninguna forma de hacer que CruiseControl sea tan específico.Por lo general, solo encadeno un archivo por lotes para realizar la copia a la tarea CC.net.

Otros consejos

No estoy seguro con un proyecto web, pero para nuestra aplicación winforms, puedes tomar TargetOutputs de la tarea MSBuild de esta manera:

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

y luego hacer una copia:

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

No estoy seguro de cuáles son los TargetOutputs para un proyecto web, pero para winforms y bibliotecas de clases, son .dll o .exe.

El editor de compilación predeterminado en CC.NET no proporciona una forma de hacerlo.Tienes pocas opciones:

  • Cree su propio editor de compilación con la funcionalidad deseada
  • Crear una tarea NAnt/MSBuild personalizada
  • Utilice una tecnología de secuencias de comandos (RoboCopy, archivo por lotes, etc.) para crear un archivo de secuencias de comandos y ejecutar una tarea "ejecutable" para CC.NET o una tarea "ejecutiva" para NAnt/MSBuild.

También se puede utilizar una tarea CC.Net Powershell para esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top