====== Manual de creación de jobs en Jenkins ====== El servidor de integración continua Jenkins, se encuentra disponible en [[https://jenkins.um.es]] y para acceder a él deberemos hacerlo a través del SSO de la Universidad de Murcia. Una vez dentro podremos examinar nuestros proyectos o crear un proyecto nuevo. A continuación describiremos los diferentes pasos para configurar y ejecutar correctamente nuestro proyecto Fundeweb en Jenkins. ===== Creación de un nuevo proyecto ===== ==== Consideraciones previas ==== Antes de crear nuestro proyecto en Jenkins deberemos comprobar que la configuración local es la adecuada. * Nuestro proyecto Fundeweb se creó con un arquetipo de número de versión 0.0.7 o superior: En este caso no tendremos que hacer cambios de configuración. * Nuestro proyecto Fundeweb se creó con un arquetipo de número de versión inferior a la 0.0.7: Deberemos aplicar los cambios que comentaremos en el siguiente apartado. * No sé con qué versión se creó mi proyecto: En ese caso abrimos el fichero build.xml y buscamos "maven.profile", en caso de no encontrarse estaremos en el caso anterior y deberemos realizar los cambios que comentamos a continuación. En caso contrario no será necesario. ==== Modificaciones para proyectos con arquetipo inferior a 0.0.7 ==== En primer lugar deberemos añadir una propiedad al POM principal de nuestro proyecto y actualizar el //// a 2.0.19 (Para FundeWeb 1.5, a la versión 1.5.19). A continuación descargaremos los ficheros **build.xml** y **common.build.xml** desde {{:fdw2.0:fundeweb2.0:gt:jenkins:builders.zip|este enlace}} y sobrescribiremos los que tiene nuestro proyecto. Obtener builders desde la wiki: [[fdw2.0:fundeweb2.0:gt:jenkins:plantilla_local|Plantilla Local]]. **Importante**: Cambiar MIPROYECTO, por el nombre del proyecto. Ahora, abrimos el POM del módulo Web y realizamos las siguientes acciones: * Buscamos la dependencia //cas-client-core// y la modificamos por //cas-client-support-saml//. * Eliminamos la dependencia //velocity//. Una vez hechos estos pasos estaremos listos para configurar nuestro proyecto en el servidor. ==== Configuración del proyecto en Jenkins ==== El primer paso será crear una tarea de estilo libre que representará nuestro proyecto {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea.png |}} === 1.Configuración general === En la primera sección del configurador de proyectos de Jenkins, deberemos especificar el nombre de nuestro proyecto, el número de ejecuciones que queremos que conserve como histórico y la versión de la JDK que queremos utilizar. {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea1.png |}} === 2.Configuración SVN === El segundo paso es indicar el directorio SVN donde estará el código fuente de nuestro proyecto, el usuario con el que accederá a la información será **hudson**, el cual deberá tener acceso de lectura a los repositorios (sistemas lo pone por defecto). Una vez establecido la ruta debemos poner **Check-out Strategy** con el valor **Use 'svn update' as much as possible** para que intente hacer siempre un update en vez de un checkout del proyecto, lo que impactaría negativamente en el rendimiento. {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea2.png |}} === 3.Ejecución del proyecto === Para poder ejecutar nuestro proyecto y que nos cree los informes que necesitamos haremos uso de la tare Ant **hudson.maven.project.report** que se encuentra en el build.xml de nuestro proyecto. Pero antes de ello, en este apartado debemos definir el tipo de acción que queremos realizar: **Ejecutar Ant** {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea3.png |}} Una vez seleccionada esta opción nos aparecerá el menú de configurar Ant. Deberemos rellenar los siguientes campos: * Versión de Ant: Seleccionar 1.7.1 * Destinos: hudson.maven.project.report * Propiedades: fundeweb.archiva.repository=https://archiva.um.es/archiva/repository/FundeWeb/ fundeweb.maven.repository=https://archiva.um.es/archiva/repository/FundeWeb/ maven.repo.local=/www/jenkins/home/repository env.M3=/www/jenkins/home/apps/apache-maven-3.0.5 env.MAVEN_HOME=/www/jenkins/home/apps/apache-maven-3.0.5 {{ :fdw2.0:fundeweb2.0:gt:jenkins:jenkins_20.png |}} === 4.Configurar informes y notificaciones === En este punto ya tendremos configurado nuestro proyecto para que Jenkins lo ejecute, ahora tenemos que añadir los analizadores de informes. Para ello añadimos los siguientes: * CheckStyle * FindBugs * Java NCSS * Notificaciones por correo {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea5.png |}} Una vez añadidos, configuraremos la ruta donde estarán los informes con el patrón "**/target_report/...." También pondremos, en la entrada de notificaciones, las direcciones de correo de quienes queramos que sean notificados tras la ejecución del proyecto {{ :fdw2.0:fundeweb2.0:gt:jenkins:jcrea6.png |}} Una vez realizados estos pasos ya podremos lanzar y construir nuestro proyecto en Jenkins