web-dev-qa-db-fra.com

Comment configurer "Analyser les déclencheurs de pipeline multibranches" dans mon fichier jenkins?

Pour le moment, je configure manuellement tous mes travaux de pipeline multibranches et régule "Analyser les déclencheurs de pipeline multibranches" sur 3 minutes.

Comment puis-je mettre cela dans mon jenkinsfile? Je ne trouve pas d'exemples de cela. Les déclencheurs de numérisation de pipeline multibranches sont-ils disponibles dans le bloc "déclencheurs {}"?

5
red888

Les paramètres de la page de configuration multibranches configurent uniquement le travail d'analyse multibranches lui-même, pas les travaux individuels créés dans le "dossier" multibranches.

L'option sous "Analyser les déclencheurs de pipeline multibranches" qui indique "Périodiquement, sinon autrement exécuté" est uniquement un déclencheur pour le moment où le travail multibranch recherchera de nouvelles branches. Si des modifications sont trouvées dans les branches existantes ou si de nouvelles branches sont découvertes avec un fichier Jenkins correspondant aux spécifications de votre branche, une nouvelle génération sera déclenchée, mais il ne s'agit pas de la manière dont le travail est déclenché. 

En fait, vous pouvez désactiver la construction automatique lorsque des modifications sont trouvées en ajoutant une propriété à la configuration du SCM sous "Désactiver le déclenchement automatique du SCM". Ensuite, vous verrez le déclencheur d'analyse multibranches, mais les travaux eux-mêmes ne seront pas créés, même si des modifications ont été trouvées. 

Pour déclencher des travaux, vous devriez idéalement utiliser un crochet Web si vous le pouvez. Si vous utilisez un crochet git à l'aide du plugin git (et non du plugin github), vous devez activer le déclencheur PollSCM (bien que vous puissiez le configurer pour qu'il n'interroge que rarement, ou pas du tout). 

Si vous souhaitez uniquement des options de déclenchement normales, à partir de la version 2.22, vous pouvez configurer les déclencheurs cron ou pollSCM

pipeline {
    triggers {
        cron('H/4 * * * 1-5')
        pollSCM('0 0 * * 0')
    }

Ensuite, je pense que vous pouvez configurer Webhooks pour informer votre tâche multibranches du moment où vous souhaitez effectuer une analyse. Je n'ai pas essayé ça. Je lui dis simplement de scanner chaque heure ou plusieurs fois par jour en utilisant le bouton "Périodiquement, sinon sinon exécuté". 

Notez que la même chose s’applique pour l’éliminateur de génération et les autres éléments que vous configurez dans votre travail multibranch. Dans l'interface Web, vous ne pouvez configurer que le travail multibranch lui-même, pas les travaux individuels créés à partir de celui-ci. Vous devez utiliser Pipeline pour configurer les travaux. 

9
Rob Hales

dans dsl, vous pouvez ajouter les lignes suivantes pour configurer "Scan Multigranch Pipeline Triggers

configure { it / 'triggers' << 'com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger'{ spec '* * * * *' interval "60000" } }

1
ManishSingh