Comment puis-je dire à Jenkins/Hudson de déclencher une compilation uniquement pour les modifications apportées à un projet particulier dans mon arbre Git ?
Réponses
Trop de publicités?
FrankerZ
Points
15484
Bien que cela n'affecte pas les tâches individuelles, vous pouvez utiliser ce script pour ignorer certaines étapes si le dernier commit ne contenait aucune modification :
/*
* Check a folder if changed in the latest commit.
* Returns true if changed, or false if no changes.
*/
def checkFolderForDiffs(path) {
try {
// git diff will return 1 for changes (failure) which is caught in catch, or
// 0 meaning no changes
sh "git diff --quiet --exit-code HEAD~1..HEAD ${path}"
return false
} catch (err) {
return true
}
}
if ( checkFolderForDiffs('api/') ) {
//API folder changed, run steps here
}
Uri Cohen
Points
1417