Construyendo un proyecto de C # a través de SVN usando Jenkins – Build tiene éxito, pero ¿dónde está la salida?

Lo que quiero es crear un file de installation instalable de un proyecto de C #, usando SVN como Administrador de código fuente y Jenkins como herramienta de CI. Configuré jenkins ingresando el URL del repository SVN. Cuando construyo el proyecto, aunque la compilation tiene éxito, lo que obtengo como salida son 2 files xml.

¿Cómo podría crear el file de installation instalable para este proyecto?

Mire la salida de la console para el trabajo. Sospecho que su trabajo ha generado el resultado esperado, pero Jenkins simplemente no se lo presenta. Tendrás que modificar el trabajo de Jenkins para decirle que lo que estás esperando es la salida.

Los trabajos pueden archivar y / o tomar una huella digital de los files de salida. Si modifica su trabajo en Jenkins, dentro de la página de configuration, puede elegir qué files desea archivar. Necesitas decirle a Jenkins dónde está tu salida de compilation, por ejemplo, MyProject\bin\Release\* . Una vez que Jenkins sepa esto, almacenará los files que ha identificado y los presentará como los artefactos de salida de trabajos.

A continuación, puede usar esos files de salida para crear la configuration instalable, ya sea manualmente o, más preferiblemente, como otro trabajo de Jenkin.

Puede tener otro trabajo de Jenkins que copie a artefactos de un trabajo en sentido ascendente (consulte el complemento CopyArtifact ) y luego cree la configuration instalable usando esos y cualquier método que sea apropiado para sus necesidades de proyecto y deployment.

Alternativamente, podrías modificar el trabajo original, agregar un paso de compilation para tomar el resultado creado y crear el instalador, pero de nuevo necesitarías decirle a Jenkins que el * .msi o * .zip que crea es el artefacto de salida.

NB Fingerprinting es un método que Jenkins usa para almacenar el hash de los files key de los trabajos y rastrear qué versiones de qué files se usaron. Por ejemplo, si JobA crea un file MyProject.dll, la toma de huellas dactilares significa que se puede decir que JobB build123 utilizó el dll de JobA build5.

En general, archive toda la salida de compilation (* .dll, * .exe, * .msi, etc.) y le digo a Jenkins que tome las huellas dactilares de todos los artefactos de file.

EDITAR:

Solo tengo acceso fácil a un server Hudson v1.386 en este momento (es decir, la versión antes de la split de Hudson / Jenkins) por lo que podría ser sutilmente diferente a la versión de Jenkins.

Primero, vaya a relatar la página de trabajo dentro de Jenkins y click el enlace Espacio de trabajo a la izquierda. Esto debería permitirle ver todos los files en el área de trabajo, es decir, cualquier cosa que se haya comprobado y construido después de la última compilation finalizada. Verifique que los files de salida que espera estén allí. Si no, tienes un problema con tus pasos de compilation que no generan el resultado esperado. Arregla eso primero.

Una vez que el resultado que espera esté allí, puede decirle a Jenkins que archive esos files de salida después de cada compilation. En la página de configuration del trabajo, hay una sección titulada Acciones posteriores a la construcción . La segunda opción aquí es "Archivar los artefactos", marca esa casilla. Luego, en el campo "Archivos para archivar", coloque la list de files que considera su resultado. Por ejemplo, puse **/Release/*.msi, **/bin/Release/*, Database/Scripts/*.sql .

También revisé la opción "Grabar huellas dactilares de files para seguir el uso" y luego "Huella digital de todos los artefactos archivados"

Una vez hecho esto, presione Guardar en la parte inferior y luego ejecute una compilation. Una vez que la construcción se haya completado, debería ver en la parte inferior de la console algo como:

Archivar artefactos
Grabación de huellas dactilares

La página del proyecto debe tener un enlace Últimos artefactos exitosos , y las construcciones (a partir de este momento) tendrán un enlace Construir artefactos .

Estos enlaces mostrarán una list de los files archivados y le permitirán downloadlos. Creo que eso es lo que buscas.

También me gustaría sugerir mirar este pother questio para más información: Archive-the-artifacts-in-hudson-jenkins