2011-11-07 13 views
9

Estoy migrando el sistema de integración continua de Teamcity a Jenkins. Tenemos un único repositorio SVN para todos nuestros proyectos como éste:Desencadenar el trabajo de Jenkins al cambiar solo a una subcarpeta específica en la carpeta de trabajo scm

project/dev_db_build (folder) 
project/module1 (folder) 
project/module2 (folder) 
projets/pom.xml 

Para la construcción de db en el servidor IC utilizo URL del proyecto/dev_db_build y Can Pol este URL para gatillo construye cuando hay cambios.

Para la aplicación de construcción utilizo el proyecto de url/Así que si sondeé y hay cambios en dev_db_build la compilación de la aplicación debe ignorarse y activarse después de que db_build haya sido exitoso.

En teamcty utilicé "Patrones de activación" para esto. Pero en Jenkins hay tantos complementos desencadenantes https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Buildtriggers - Miré en algunos de ellos y no he encontrado adecuado.

Respuesta

9

Idealmente, debería usar un enganche post-commit como lo sugiere @Mike, en lugar de un sondeo. De lo contrario, al configurar el trabajo de Jenkins, en 'Gestión de código fuente' con 'Subversión' seleccionado, hay un botón avanzado. Haciendo clic en este revela una serie de opciones, incluyendo 'Regiones excluidos'

Si se establece, y Jenkins está fijado para revisar los cambios, Jenkins ignorará los archivos y/o carpetas en esta lista para determinar si una acumulación necesita ser activado Cada exclusión utiliza el patrón de expresión regular correspondiente, y debe estar separado por una nueva línea.

/trunk/myapp/src/main/web/.*.html

/trunk/myapp/src/main/web/.*.jpeg

/trunk/miaplicacion/src/main /web/.*.gif

El ejemplo anterior ilustra que si solo los archivos html/jpeg/gif tienen comprometidos con el SCM, no se realizará una compilación. Se puede encontrar más información sobre expresiones regulares here.

En su caso, se debe establecer 'Regiones excluidos' a algo como

/project/dev_db_build/.* 
2

¿Tiene la posibilidad de editar sus ganchos Subversion? En lugar de tener su SVN de encuesta de servidor de Jenkins, le recomendaría que haga que SVN llame a Jenkins a través de un gancho post-commit para iniciar automáticamente una compilación luego de la confirmación del desarrollador. Esto tiene el efecto de disminuir la carga en los servidores Jenkins y SVN, así como no tener un período de espera por el tiempo que sea el intervalo de sondeo antes de que se inicie una compilación.

+0

muchas gracias. Lamentablemente, los ganchos post-commit no son una opción en este momento. –

Cuestiones relacionadas