2012-02-24 7 views
8

utilizo/mantener algunos proyectos CRealice, así que empezó a examinar CTest/CDash, pero hay algo que no puedo averiguar:CTest/flujo de trabajo CDash: el despliegue de todas las noches se basa

¿Es sólo para presentar en pantalla construir/resultados de prueba? (también conocido como registros embellecidos)

O: ¿Puede incluirse en ese flujo de trabajo la instalación de binarios nocturnos en un servidor?

Tanto como creo que CTest es la herramienta ideal para probar proyectos de CMake y mostrar resultados de pruebas, también me gustaría automatizar la implementación de compilaciones nocturnas en un servidor web, y me pregunto si es correcto herramienta para eso ...

Respuesta

1

Esto es más bien una tarea, que sería realizada por CMake, no por CTest o CDash. Usamos CMake para generar una imagen de instalador y copiarla en algún lugar del sistema de archivos. Puede usar add_custom_target para especificar dicho objetivo. Tus compilaciones nocturnas pueden simplemente incluir este objetivo.

+0

Ok, pero ¿qué ocurre si quiero implementar una construcción nocturna solo si todas las pruebas de CTest están correctas? ¿También lanzaría CTest con add_custom_target? El otro problema es que me gustaría ver un enlace entre una compilación exitosa en CDash y la compilación en sí ... Desde el punto de vista de un usuario de SDK, al menos, parecería más consistente ... – Mikarnage

+0

Creo ctest devuelve 0 si tiene éxito? En ese caso, podría hacer algo como 'ctest -S nightly_script.ctest && ', el comando después de && solo se ejecuta si el primer comando devuelve 0 (no estoy seguro acerca del equivalente para shells de Windows) – yngve

3

Ésta es una nueva característica de CDash 2.0 y reciente CTest, se puede ver un ejemplo experimental de este en uso para ParaView,

http://trunk.cdash.org/index.php?project=ParaView

El guión CTest que llevó a que es visible como una nota , por ejemplo (a partir de ese tablero de instrumentos),

http://trunk.cdash.org/viewNotes.php?buildid=10381

estoy pensando en la redacción de cómo utilizar esta vez CDash 2.0 es totalmente libera si nadie consigue alrededor a él en primer lugar. Entonces, la característica ciertamente existe ahora pero es muy nueva. Creo que es una gran característica, y planeo usarla en mis proyectos para hacer que los binarios nocturnos estén disponibles.

+0

Qué bueno saber ... Para mis proyectos personales, finalmente me conformé con el uso del archivo por lotes Jenkins + windows, llamando directamente a CMake + Visual Studio, ya que finalmente se ajusta mejor a mis necesidades, pero estoy seguro de que vigilaré CDash. – Mikarnage

+0

Hay varias formas de hacerlo, creo que la característica de carga binaria de CDash es buena y estoy buscando combinarla con MIDAS para proporcionar una sola página para que los usuarios obtengan también el último archivo binario para su plataforma (menos información que la Páginas CDash). Para la prueba distribuida en varios sitios con solo acceso de inserción al servidor de CDash, no he encontrado una mejor manera de hacerlo, pero sigo buscando otras soluciones también. –

Cuestiones relacionadas