Leçon 6 sur 9 · 6 min de lecture
Les règles des merge requests
Décidez qui peut fusionner, fermer ou supprimer des merge requests depuis l’application, ce qui doit être vrai avant une fusion, et les modes de fusion autorisés par votre équipe.
Ce que vous allez apprendre
- Qui fixe les règles des merge requests.
- Comment choisir, pour chaque action, les rôles qui peuvent l’effectuer.
- Comment exiger un pipeline réussi et des approbations.
- Ce que voient les gens quand un bouton est grisé.
Qui les fixe
Chacun fusionne, ferme ou supprime les merge requests de ses fonctionnalités sur la page de chaque merge request. Paramètres › Merge requests fixe les règles de votre organisation. Le propriétaire de l’organisation les modifie, et peut cocher Les administrateurs peuvent aussi les modifier. Les autres les consultent.
Ces actions se font toujours avec le compte GitLab personnel de la personne : les permissions de GitLab s’appliquent donc aussi. Claude ne fusionne, n’approuve et ne supprime jamais. Chaque action, et chaque refus, est inscrit dans le journal d’audit.
1 · Actions et qui peut les effectuer
Sous Actions et qui peut les effectuer, pour chaque action :
- Fusionner — dans la branche cible, quand elle est prête ;
- Fermer — sans fusionner ; la branche reste ;
- Supprimer — retire la merge request de GitLab (GitLab ne l’autorise qu’aux propriétaires du projet) ; la branche reste.
Activez ou désactivez chaque action et cochez les rôles autorisés : Propriétaire de l’organisation, Administrateurs, Membres. Les nouvelles organisations démarrent avec toutes les actions activées pour tous.
2 · Avant de fusionner
- Le pipeline doit avoir réussi — « Fusionner » reste grisé tant que le dernier pipeline n’a pas réussi.
- Elle doit être approuvée — toutes les approbations demandées par GitLab, et au moins une.
3 · Comment fusionner
- Modes de fusion proposés — commit de fusion, squash puis fusion, rebase puis fusion. Cochez ce que votre équipe autorise ; la fenêtre de fusion ne propose que ceux-là.
- Proposer de supprimer la branche source lors de la fusion — ajoute cette option à la fenêtre de fusion.
Un exemple complet
Acme Logistics veut que les développeurs fusionnent leur propre travail, mais en sécurité.
- Fusionner : activé, pour le Propriétaire de l’organisation, les Administrateurs et les Membres.
- Fermer : activé, pour tous. Supprimer : activé, pour le Propriétaire de l’organisation seulement.
- Cochez Le pipeline doit avoir réussi et Elle doit être approuvée.
- Sous Modes de fusion proposés, ne gardez que le squash.
- Cliquez sur Enregistrer les règles. Elles s’appliquent immédiatement.
Un développeur qui ouvre une merge request au pipeline en échec voit désormais « Fusionner » grisé, avec la raison : Votre organisation exige un pipeline réussi ; il est en échec.
Astuce : le serveur revérifie tout avec des données fraîches de GitLab avant d’agir. Une page restée ouverte une heure ne peut pas fusionner ce qui n’est plus fusionnable depuis.
Ce que voient les gens
Un bouton inutilisable est grisé, avec sa raison — par exemple Connectez votre propre compte GitLab pour quelqu’un qui ne l’a pas encore fait. C’est le message le plus fréquent la première semaine : demandez à chacun de relier GitLab dans Comptes connectés.
Vérifiez vos acquis
1. Un administrateur peut-il modifier ces règles ?
Seulement si le propriétaire de l’organisation a coché Les administrateurs peuvent aussi les modifier.
2. Votre équipe n’autorise que le squash. Que voient les gens dans la fenêtre de fusion ?
Uniquement le squash ; les autres modes ne sont pas proposés.
3. Claude peut-il fusionner une merge request qu’il a ouverte ?
Non. Fusionner, fermer et supprimer sont faits par des personnes, avec leur propre compte GitLab.