Comtesting si una parte de un repos no ha cambiado en una versión de Jenkins

En una compilation de Jenkins me gustaría omitir algunas testings si una parte del repository no ha cambiado. Esto podría ahorrar mucho time en el process de compilation. Así es como puedo hacerlo en mi máquina de desarrollo:

changes=$(git log --name-only --pretty="" my_branch..HEAD | grep path/to/folder) if [[ -z $changes ]]; then echo "no changes detected, skipping tests" exit 0 fi echo "running tests!" 

¿Cómo hago esto en una máquina Jenkins?

Estoy usando un plugin de git para Jenkins y puede calcular mi nombre de twig con $GIT_BRANCH , pero no tengo idea de cómo get una list de cambios de files en mi compilation.

En un trabajo de Freestyle, probablemente tendrá que usar el complemento de compilation condicional. No creo que pueda ejecutar un script de shell como una de las condiciones, pero puede ejecutar un paso para ejecutar el script de shell que pegó y hacer que toque un file si debe (o no) ejecutar una testing. Luego use el Paso de compilation condicional para search ese file y hacer lo correcto.

También me di count de que uno de los comportamientos adicionales que tiene el plugin git es que Polling ignora commits en ciertas routes . Esto le permite especificar incluye o excluye. Si especifica el "Incluye", el trabajo ni siquiera desencadenará una compilation si se modifican otros files. Entonces ni siquiera necesita su script de shell o para tomar un ejecutor para verificar los cambios.