¿Dónde y cómo almacena Hudson / Jenkins los datos?

18

Instalé Jenkins en Ubuntu 10.10 y no pude encontrar ninguna mención de la configuración de la base de datos para la persistencia de datos.

Entonces, la primera pregunta es dónde se almacenan los datos y, en segundo lugar, ¿podemos configurar Hudson / Jenkins con mySQL? o bases de datos similares?

kamal
fuente
En un sistema de archivos, típicamente, algo como /var/lib/jenkins/, /var/jenkins_home/o /home/jenkins/.
Ondra Žižka

Respuestas:

11

Hudson / Jenkins no funciona de esa manera. Almacena configuraciones e información de trabajo /var/lib/jenkinspor defecto (si está utilizando el paquete .deb). Si desea configurar la persistencia para una aplicación específica, eso es algo que querrá manejar usted mismo: Hudson es un servidor de integración continua, no un marco de prueba.

Consulte el artículo de Wiki sobre Integración continua para obtener una descripción general de qué esperar.

Andrew M.
fuente
2
@Redmumba Entiendo que es un servidor CI, pero simplemente estaba estudiando la posibilidad de que se use para conducir pruebas unitarias y persistir los resultados en una base de datos en lugar de archivos flar. Como Jenkins PUEDE usarse para conducir y mostrar pruebas. ¿Alguna idea?
kamal
Una compilación es mucho más que una compilación (o sus variaciones dinámicas de lenguaje). Una compilación puede consistir en la compilación, prueba, inspección e implementación, entre otras cosas. Una compilación actúa como el proceso para armar el código fuente y verificar que el software funciona como una unidad cohesiva.
kamal
1
Como dije, Jenkins es solo un servidor CI, no es un marco. Por todos los motivos, Jenkins solo está ejecutando los scripts que especifique: no le importa el almacenamiento persistente, los idiomas que usa o incluso lo que está haciendo. Ahí es donde creo que está la desconexión: Jenkins no proporciona almacenamiento persistente para su aplicación, etc.
Andrew M.
1
ref: del libro "Integración continua: muchos consideran que CI sin pruebas automáticas y continuas no es CI. No podríamos estar más de acuerdo. Sin pruebas automatizadas, es difícil para los desarrolladores u otras partes interesadas del proyecto tener confianza en los cambios de software. La mayoría los desarrolladores de proyectos que utilizan un sistema de CI utilizan herramientas de prueba de unidades como JUnit, NUnit u otros marcos de xUnit para ejecutar pruebas. Además, puede ejecutar diferentes categorías de pruebas desde un sistema de CI para acelerar sus compilaciones. Estas categorías pueden incluir unidad, componente, sistema, carga / rendimiento, seguridad y otros.
kamal
1
Derecho; entonces estamos en la misma página. Jenkins ejecuta estas cosas: no gestiona las capas de persistencia, los marcos de prueba, las herramientas de construcción (excepto Ant), etc. Necesitará construir su capa de persistencia y las pruebas por separado. Jenkins puede graficar pruebas unitarias si se generan en formato xunit, que es algo que proporcionan los marcos de prueba de Java; muchos otros idiomas (como la nariz de Python) también se mostrarán en ese formato.
Andrew M.
6

Puede parecer que Jenkins está almacenando datos, en función de lo que están haciendo sus scripts y cómo.

Como ejemplo; los scripts que ejecutan sus compilaciones de confirmación diarias se pueden configurar para entregar los resultados de "pasar / fallar" a Jenkins para almacenarlos en un archivo XML. Luego, si alguna vez está interesado en obtener los resultados históricos de "pasar / fallar" y usarlos en otro lugar que no sea la GUI de Jenkins, puede hacer una llamada a la API de Jenkins y obtener un retorno de ese XML. Analízalo y obtendrás los datos que necesitas.

Pero, aparte de hacer esto, Jenkins no tiene un sistema de repositorio por sí solo.

Además, a continuación se incluye la información de la API de jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Punta
fuente
2

La respuesta es que Jenkins no configurará esto para usted. Debe decirle cómo configurar el entorno y cómo ejecutar sus pruebas. Esto normalmente se hace en la sección de pasos de compilación. Si proporciona más información sobre qué plataforma las está utilizando, tal vez podamos darle una respuesta más concreta. Podría tener un script de shell que instalará su aplicación y ejecutará sus pruebas, y luego lo llamará desde Hudson. Hacer que el corredor de prueba muestre datos de una manera amigable con Hudson para finalmente obtener los resultados de sus pruebas en la interfaz de usuario web para verlos.

Jorge Vargas
fuente
2

Almacena datos en su directorio de inicio en un .jenkinsdirectorio. Puede encontrar toda la información relevante relacionada con sus compilaciones en este directorio.

Jenkins no proporciona soporte de compilación para conectarse a ninguna base de datos.

usuario257831
fuente