Donc, j'utilise Jenkins depuis un bon moment. J'ai mis en place de nombreux projets avec le plugin Github Pull Request Builder pour exécuter des tests chaque fois que quelqu'un ouvre une demande de tir, puis déclencher un autre travail (génération, push, déploiement, etc.) chaque fois que la demande de tir est réellement fusionnée au maître.
Alors, existe-t-il un moyen de configurer cela avec un fichier Jenkins, ou les dossiers d'organisation, ou l'accord de construction multibranch?
Le plugin github-organization-folder en combinaison avec le plugin plugin multi-branches offre exactement cette fonctionnalité impressionnante: il scanne toute une organisation (éventuellement limité à certains modèles dans repo/noms de branche) pour Jenkinsfile
s et ajoute automatiquement des travaux. Cela se produit également pour les demandes d'extraction.
Une fois le PR fermé, il supprime automatiquement le travail.
Pour éviter l'exécution de code arbitraire, un membre de l'organisation doit déclencher la construction du travail (comme pour le plugin GPRB). La phrase peut être configurée dans les paramètres Jenkins System .
EDIT: Dans la section Advanced de Jenkins, vous trouverez des options sur les types de relations publiques que vous souhaitez construire. Si vous construisez des PR fork, il n'y a aucun moyen d'empêcher l'exécution de code sans l'inspecter au préalable.
Un exemple, à quoi cela ressemble: