5 votes

Transmettre des paramètres à Jenkins via une demande de fusion Gitlab

Mon objectif : Exécuter des tests Python à chaque fois qu'une demande de fusion est faite dans Gitlab.

Le problème : La régression complète prend trop de temps, j'aimerais donc exécuter un sous-ensemble particulier de tests en fonction d'un certain niveau de configuration. Pour cela, je dois en quelque sorte transmettre des "arguments" à Jenkins via Gitlab à chaque demande de fusion. Disons que dans le commentaire, il faut mettre "test/api" ou quelque chose de similaire ?

Ma seule idée pour l'instant est peut-être d'avoir un fichier qui est poussé avec le commit et que Jenkins peut consulter lorsqu'il exécute ses tâches. C'est une façon de faire, mais j'ai l'impression qu'il doit y avoir une meilleure façon et mes recherches n'ont pas donné de résultats.

0voto

VonC Points 414372

Si vous gérez votre propre instance GitLab, vous pouvez avoir un hook qui analyse le commentaire pour extraire ce paramètre : un commentaire est préférable à un fichier, car il s'agit de métadonnées et non de données (code source).
Une autre option consisterait à pousser un git notes qui est également une métadonnée qui peut être ajoutée au commit.

Le problème, cependant, est qu'il n'y a pas de hook pour la demande de fusion, ni de webhook ( numéro 42570 ). Questions 53716 propose une alternative quelque peu alambiquée.

0voto

neves Points 3075

Les Plugin GitLab vous permet d'obtenir des informations à partir d'un crochet de demande de fusion GitLab. Vous obtiendrez le hash du commit git dans le champ gitlabMergeRequestLastCommit et en l'utilisant, vous pouvez obtenir le message de validation et l'analyser.

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