Agence web » Actualités du digital » Comment effectuer des revues de code avec les demandes de fusion de GitLab –

Comment effectuer des revues de code avec les demandes de fusion de GitLab –

comment-utiliser-les-problemes-gitlab-pour-suivre-le-developpement-de-2549474

Les demandes de fusion de GitLab sont votre chance de revoir le code avant qu’il n’entre dans la branche principale de votre projet. Une demande de fusion (MR) est un wrapper autour d’un git merge opération accessible dans l’interface utilisateur Web de GitLab. Une fois que vous avez vérifié votre code, vous pouvez lancer la fusion en un seul clic. L’adoption d’un flux de travail piloté par MR vous aide à garantir la qualité du code en créant une attente que tous les commits sont soigneusement examinés.

Les demandes de fusion sont l’un des éléments fondamentaux de l’expérience GitLab. Ils combinent sa gestion de projet, son référentiel et ses systèmes CI / CD en une seule page pour chaque changement dans votre base de code. Nous utilisons le GitLab CE open-source dans cet article. Les niveaux commerciaux ont accès à des fonctionnalités supplémentaires.

Créer une demande de fusion

Capture d'écran de la création d'une demande de fusion dans GitLab

Vous pouvez créer un nouveau MR à partir de GitLab en accédant à Repository> Branches dans la barre latérale. Assurez-vous d’avoir transféré les modifications sur votre branche locale vers GitLab. Recherchez la branche que vous souhaitez fusionner et cliquez sur le bouton «Demande de fusion» à droite de son nom.

Capture d'écran de la création d'une demande de fusion dans GitLab

Utilisez le formulaire pour définir les propriétés de votre demande de fusion. Commencez par titrer votre nouveau MR. Ensuite, ajoutez une description. Les normes de description varient selon l’organisation et le projet. En général, vous voudrez noter toutes les modifications importantes que vous avez apportées, ainsi que le raisonnement qui les sous-tend.

Capture d'écran de la création d'une demande de fusion dans GitLab

Au bas de la page, vous trouverez des commandes pour définir le responsable, le réviseur, le jalon et les étiquettes du MR. Ceux-ci peuvent être modifiés à tout moment en utilisant la barre latérale droite sur la page de détails de la demande de fusion. Nous les couvrirons plus en détail plus tard.

Vous pouvez effectuer un examen initial sans soumettre votre MR. Utilisez les onglets «Commits» et «Changes» pour confirmer que vous avez inclus le bon code. Une fois que vous êtes prêt, cliquez sur le bouton vert «Soumettre la demande de fusion» pour ouvrir le MR. Vous pouvez afficher tous les MR de votre projet en utilisant le lien «Requêtes de fusion» dans la barre latérale.

Création de demandes de fusion à partir de votre terminal

La création de MR via l’interface utilisateur de GitLab vous encourage à étiqueter précisément la MR avec des étiquettes, des jalons et un texte descriptif. Néanmoins, c’est un processus laborieux qui peut prendre beaucoup de temps toute la journée. GitLab prend en charge les options push Git qui vous permettent de pousser une branche et de créer un MR en même temps.

git push -u origin HEAD -o merge_request.create -o merge_request.target=master

En utilisant git push avec les options indiquées ci-dessus, poussera votre branche actuelle vers votre télécommande Git. La branche distante sera créée à nouveau, en utilisant le même nom que votre branche locale, si elle n’existe pas déjà. Les deux -o les options seront traitées par GitLab. Ils entraîneront l’ouverture d’un nouveau MR pour fusionner votre succursale en master.

GitLab remplira automatiquement le titre et la description du MR en utilisant les informations de votre dernier commit. De plus, vous pouvez référencer un problème GitLab dans votre message de validation – par exemple Fixes #123 – pour que GitLab applique automatiquement ses étiquettes et ses jalons au MR.

Examen des demandes de fusion

Aucun code n’est complet tant qu’il n’a pas été examiné. Vous pouvez facilement demander aux autres membres de votre groupe de donner à vos commits une fois de plus. Utilisez la barre latérale droite pour sélectionner un ou plusieurs réviseurs. Ils seront informés de votre demande.

Capture d'écran des réviseurs de demandes de fusion dans GitLab

Vous pouvez également attribuer votre MR à un autre utilisateur. Cela peut indiquer qu’ils doivent mettre à jour leurs domaines de responsabilité pour ajouter la compatibilité avec vos modifications. Il n’y a pas de règles strictes sur la façon dont vous devez utiliser ces fonctionnalités.

Lorsque vous êtes chargé de réviser un MR, passez aux onglets «Validation» et «Modifications» en haut de l’écran. Le premier donne une liste de tous les nouveaux commits sur votre branche tandis que le second présente le fichier diffs à appliquer à la base de code.

Capture d'écran des paramètres de différence de demande de fusion de GitLab

Vous pouvez ajuster la disposition de l’écran Modifications à l’aide du rouage des paramètres en haut à droite. Vous pouvez choisir entre les différences en ligne et côte à côte, ces dernières affichant les «anciennes» et «nouvelles» versions des fichiers dans une vue fractionnée. Vous pouvez vous aider à vous concentrer et à améliorer les performances de l’écran en activant l’option «Afficher un fichier à la fois».

Apporter des modifications à votre code

Malgré tous vos efforts, vous passerez parfois en revue votre RM et découvrirez un problème que vous n’aviez pas repéré auparavant. Vous n’avez pas besoin de retourner directement à votre éditeur de code. L’écran Modifications comporte des dispositions disponibles pour vous aider à corriger les erreurs au fur et à mesure que vous les trouvez.

Capture d'écran de l'ajout d'un commentaire contre dans une ligne source dans une demande de fusion GitLab

Pour des correctifs simples sur une ligne, passez la souris sur la ligne en question. Cliquez sur l’icône de commentaire qui apparaît à gauche de la ligne. L’éditeur de commentaires apparaîtra, avec l’éditeur Markdown standard de GitLab. Vous pouvez utiliser cette fonction pour commenter des lignes spécifiques de votre MR – vos messages réapparaîtront dans l’onglet «Aperçu». Nous recherchons cependant une fonctionnalité spécifique, le bouton «Insérer une suggestion» dans la barre d’outils.

Capture d'écran des suggestions dans les demandes de fusion GitLab

Cliquez sur le bouton pour insérer la ligne sélectionnée dans votre commentaire. Utilisez l’éditeur de commentaires pour modifier la ligne à ce qu’elle devrait ressembler. Ensuite, cliquez sur « Lancer un examen » ou « Ajouter un commentaire maintenant ». Le premier vous permet de regrouper plusieurs commentaires pour les soumettre par lots une fois que vous avez terminé votre examen.

Capture d'écran des suggestions dans les demandes de fusion GitLab

Une fois que vous avez enregistré votre commentaire, un widget « Modification suggérée » apparaît sous la ligne suspecte. Cela affichera le nouveau diff à appliquer. Cliquez sur le bouton «Appliquer la suggestion» pour ajouter instantanément votre modification.

L’utilisation de suggestions peut réduire considérablement le temps de résolution des problèmes mineurs, car vous n’avez pas besoin de quitter votre navigateur. Pour des modifications plus longues, vous pouvez cliquer sur l’icône à trois points à côté de n’importe quel fichier sur l’écran Modifications pour l’ouvrir dans l’EDI Web GitLab complet.

Demandes de fusion brouillon (travail en cours)

Parfois, vous voudrez pousser le code avant qu’il ne soit prêt à fusionner. Vous pouvez distinguer ces MR en préfixant leur titre avec «Brouillon» ou en cliquant sur le bouton de la barre d’outils. Les projets de MR ne peuvent pas être fusionnés tant que vous n’avez pas révoqué manuellement leur statut de brouillon en cliquant sur «Marquer comme prêt» en haut à droite.

Capture d'écran de la demande de fusion préliminaire de GitLab

Cette fonctionnalité s’appelait auparavant «Travail en cours», en utilisant le préfixe de titre «WIP». Cette terminologie a maintenant été abandonnée au profit de «Draft», qui sera la seule variante prise en charge dans GitLab 14. Les deux formulaires sont disponibles dans GitLab 13.

Capture d'écran montrant des commits supplémentaires ajoutés à une demande de fusion GitLab

Au fur et à mesure que vous ajoutez des commits à vos MR, ils seront répertoriés dans la section Vue d’ensemble de la page MR. Vous pouvez cliquer sur le lien «Comparer avec la version précédente» pour voir la différence de ces modifications isolément.

Cliquer sur l’onglet «Modifications» sans choisir de version affiche la différence de l’ensemble du MR par rapport à la branche cible. Vous pouvez afficher les différences de deux versions en utilisant le « Comparer [master] et [latest version]»Menus déroulants en haut de l’écran Modifications.

Terminer votre examen

Une fois votre examen terminé, il est temps de fusionner votre code. Vous devrez révoquer le statut Brouillon du MR s’il a été défini. En fonction des paramètres de votre projet, vous devrez peut-être également «résoudre» les fils de commentaires qui ont été créés.

Pour signaler que le MR est prêt à être fusionné, utilisez le bouton bleu «Approuver». Cela n’effectue aucune action dans GitLab, sauf pour signaler à votre équipe que le MR a été accepté. Vous pouvez alors continuer et fusionner le MR en appuyant sur le bouton vert «Merge».

Capture d'écran de l'approbation et de la fusion d'une demande de fusion GitLab

Cochez la case «Supprimer la branche source» pour contrôler si la branche est supprimée après la fusion. Cela aide à garder votre liste de succursales allégée, mais pourrait entraîner une perte de contexte à l’avenir. L’option «Squash commits» vous permet de combiner tous les commits du MR en un seul. Cela crée un historique des validations plus ordonné, mais il sera plus difficile d’annuler les modifications individuelles à l’avenir. La disponibilité de ces options dépendra des paramètres définis dans votre projet et votre groupe.

Les demandes de fusion fournissent une bonne structure pour écrire et réviser le code. En même temps, ils sont extrêmement flexibles et ouverts à l’interprétation. C’est à vous de décider dans quelle mesure vous développez votre flux de travail de demande de fusion.

Dans cet article, nous n’avons examiné que les fonctionnalités directement pertinentes pour un réviseur de code. Vous pourriez voir beaucoup plus d’informations dans vos demandes de fusion si vous utilisez les autres fonctionnalités de GitLab. La page Vue d’ensemble peut afficher l’état du pipeline CI, les rapports de test et de qualité du code, les résultats d’analyse de sécurité et les liens d’environnement de préparation, qui font tous de la page MR votre première destination lorsque vous comprenez l’impact d’un changement sur votre projet.