Aquí podría ser tu PUBLICIDAD


CruiseControl.net y svn checkout

votos
0

Puedo hacer que cruisecontrol trabaje con svn. Lo que trato de hacer es que cuando cruisecontrol detecta un cambio en el repositorio, elimina todo dentro de mi directorio de trabajo y luego revisa todo el proyecto nuevamente. No estoy seguro de cómo puedo hacer eso. Parece que cruisecontrol actualiza automáticamente el directorio de trabajo cuando hay una actualización en el repositorio, pero no elimina los archivos adicionales (como el archivo bin) antes de actualizar el directorio.

Gracias

Publicado el 12/03/2009 a las 19:53
fuente por usuario user62958
En otros idiomas...        العربية       

3 respuestas

votos
2

En su archivo ccnet.config ¿su bloque de control de origen contiene el elemento cleanCopy? Para eliminar todo en el directorio de trabajo, asegúrese de que cleanCopy esté configurado como "verdadero"

Espero que esto ayude.

Respondida el 12/03/2009 a las 08:03
fuente por usuario Chris Mitchell


Aquí podría ser tu PUBLICIDAD


votos
0

Puede hacer que su script de compilación elimine el directorio bin primero, luego compile el proyecto. Cree una tarea de creación llamada "clean" que elimine la carpeta de salida compilada, luego configure la tarea "mainBuild" para que dependa de "clean". Es más fácil crear la tarea "limpia" si todo se compila en una carpeta de salida común.

Ya sea que configure ccnet.config para limpiar su copia de trabajo o agregue una tarea de compilación para limpiar su copia de trabajo es una cuestión de preferencia.

Respondida el 04/09/2009 a las 07:47
fuente por usuario mcdon

votos
0

No sé si SVN funciona de manera similar a TFS (tiene un caché, etc.), pero así es como lo hago con CC.NET y Sourcesafe:

En la sección de preconstrucción de mi proyecto, me aseguro de limpiar mi directorio de trabajo, es decir: borro todo lo que hay dentro de él.
(Las tareas que se incluyen en la sección de preconstrucción se ejecutarán antes de que CC.NET obtenga la última versión de su proyecto fuera del control de origen).

Para lograr esto, invoco un objetivo que está definido en mi buildscript (msbuild) que se llama 'limpiar'.

Este objetivo elimina todos los archivos y directorios.

Esto es más o menos como se ve la tarea en mi compilación de msbuild (de memoria, no la tengo aquí):

<Task name="clean">
   <ItemGroup>
       <FilesToDelete include="$(workingdir)\**\*.*" />
   </ItemGroup>
   <ItemGroup>
        <DirectoriesToDelete include="$(workingdir)\**" />
   </ItemGroup>
   <Delete Files="@(FilesToDelete)" />
   <RemoveDir Directories="@(DirectoriesToDelete)" />
</Task>

Luego, en la configuración del proyecto CC.NET, llamo al script MSBuild usando la tarea MSBuild, y llamo a este objetivo.

Lo que me gusta de esto, es que también puedo limpiar mi directorio de trabajo en mi estación de trabajo; Solo tengo que llamar a este objetivo usando una llamada a msbuild en la línea de comandos, y mi directorio de trabajo está vacío. Tengo tareas similares para realizar un getlatest, build completo, etc. también.

Respondida el 12/03/2009 a las 08:00
fuente por usuario Frederik Gheysels