2 votes

Détection automatique de la branche du pipeline Jenkins

Je suis en train de migrer mon ancien travail Jenkins de style libre vers un pipeline à branches multiples. Je veux aussi utiliser un crochet GitLab avec eux.

Mon problème est la détection de la branche. Je le fais manuellement mais je veux que ce soit automatique : quand une nouvelle branche est poussée vers git, GitLab déclenche un travail Jenkins qui déclenche la détection de la branche si le paramètre de la branche de GitLab n'est pas connu de Jenkins à ce moment-là. Est-il possible de le faire ou cela n'existe-t-il pas ?

Pour information : j'ai essayé de lancer le travail du pipeline à branches multiples mais Jenkins dit :

ERREUR : Aucun travail paramétré nommé XXX trouvé.

0voto

mrkernelpanic Points 1797

Activez "Construire périodiquement" dans la configuration de votre travail multibranch et l'indexation des branches démarrera automatiquement.

0voto

Jesse Glick Points 3877

Ce dont vous avez vraiment besoin est un plugin source de branche pour GitLab avec une intégration de webhook, qui est suivi en tant que RFE dans JIRA.

À défaut, utilisez une source de branche Git simple et configurez GitLab pour envoyer des notifications Jenkins à /git/notifyCommit (si je me souviens bien) comme documenté sur le wiki du plugin Git. N'oubliez de spécifier uniquement une url, aucune autre détail. L'indexation de branche déclenchée devrait à la fois détecter les branches ajoutées ou supprimées, ainsi que les modifications de l'en-tête d'une branche existante, et planifier les constructions en conséquence.

0voto

Martin Points 541

Vous pouvez définir un webhook dans GitLab pour les événements de push et l'URL comme http:///git/notifyCommit?url=.

Voir https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository

GitLab notifie Jenkins des événements de push qui devraient déclencher la détection de branche également pour le pipeline multi-branche.

0voto

bobkilla Points 91

Je n'ai pas reçu la réponse que je voulais et j'ai rencontré ce problème aujourd'hui qui a répondu à la question :

https://github.com/jenkinsci/gitlab-plugin/issues/298

TLDR: Les pipelines multi-branches ne sont pas encore pris en charge pour être déclenchés facilement par un commit gitlab. Il existe une solution de contournement. Regardez le lien ci-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X