web-dev-qa-db-fra.com

Plusieurs jenkinsfile dans un référentiel

Nous avons un projet dans un dépôt Github avec plusieurs Jenkinsfiles:

my-project
  app
    Jenkinsfile
  lib1
    Jenkinsfile
  lib2
    Jenkinsfile

Nous avons créé 3 pipelines Jenkins, chacun faisant référence à un fichier Jenkins .  enter image description here

Question: Comment éviter de déclencher les pipelines "app" et "lib1" quand il y a un nouveau commit dans "lib2"? Nous ne voulons pas exécuter N jobs chaque fois qu'un commit est exécuté.

J'ai vu que le problème est traité dans https://issues.jenkins-ci.org/browse/JENKINS-43749 , mais je n'y ai pas trouvé de solution.

6
user5203299

Vous pouvez le faire de 2 manières:

a) Configurez vos travaux de construction en ajoutant "Additional Behavior" -> "Polling ignorer les validations dans certaines régions" Ce comportement vous permettra d'ajouter des "régions en liste blanche" ou "des listes noires de régions" que vous ne souhaitez pas interroger pour le déclenchement le travail de construction.

b) Écrivez un script shell personnalisé pour vérifier les fichiers modifiés par validation et vérifier l'emplacement. Ce script shell peut ensuite être ajouté à votre fichier Jenkins et, qu’il soit déclaratif ou scripté, vous pouvez modifier le comportement en conséquence.

Je recommanderai l'option a) car il est plus simple à configurer et à maintenir. J'espère que cela t'aides.

 enter image description here

3
Sorabh Mendiratta