Skip to main content

Mise en place de la qualité du code à l’échelle des organisations et des entreprises

GitHub Code Quality peut couvrir un référentiel ou des milliers de référentiels depuis un point de contrôle unique, en offrant à chaque équipe le même niveau d’exigence en matière de qualité et en vous fournissant les garde-fous nécessaires pour le maintenir.

Qui peut utiliser cette fonctionnalité ?

GitHub Team ou GitHub Enterprise Cloud

Comment l’accompagnement fonctionne à l’échelle de votre entreprise

Code Quality est contrôlé à trois niveaux, de sorte que vous pouvez décider de la quantité d’autonomie pour donner aux organisations et aux dépôts :

  • Entreprise : Un propriétaire d’entreprise doit d’abord autoriser Code Quality pour l’entreprise. Tant qu’ils ne le font pas, les propriétaires de l’organisation ne peuvent pas l’activer.
  • Organisation : Les propriétaires de l’organisation contrôlent les référentiels pour lesquels Code Quality est activé ou désactivé, en accordant l’accès à tous les référentiels, à une liste précise ou à des référentiels correspondant à un filtre. Ils peuvent également appliquer ces paramètres afin que les administrateurs de référentiel ne puissent pas les modifier.
  • Dépôt : Les administrateurs de dépôts peuvent activer ou désactiver Code Quality pour des dépôts individuels, sauf si une application au niveau de l’organisation est en vigueur.

Lorsque Code Quality est activé pour un dépôt, l’analyse CodeQL s’exécute via GitHub Actions et affiche les résultats dans les pull requests et sur la branche par défaut. Les développeurs voient les vérifications de qualité et les annotations sur leurs pull requests.

Accès au référentiel au niveau de l’organisation

Au niveau de l’organisation, vous contrôlez Code Quality avec un seul paramètre d’accès référentiel . Ce paramètre détermine les référentiels activés et ceux qui l’ont Code Quality désactivé : les référentiels de votre sélection sont activés et les référentiels en dehors de votre sélection sont désactivés.

Important

La modification du paramètre d’accès au référentiel peut activer et désactiver Code Quality plusieurs référentiels à la fois. Par exemple, si vous activez Code Quality les référentiels correspondant à un filtre, tout référentiel qui ne correspond pas au filtre est désactivé. Avant l’application de votre modification, une boîte de dialogue affiche le nombre total de référentiels activés et désactivés, ainsi que l’impact sur la facturation.

Options d’accès au référentiel

Vous pouvez appliquer l’une des options suivantes à la fois.

OptionBehavior
Aucun référentielDésactive Code Quality pour tous les dépôts actuels et futurs de l’organisation.
Laisser les dépôts déciderL’organisation n’active ni ne désactive Code Quality. Les administrateurs de référentiels choisissent s’ils doivent l’activer pour leurs propres dépôts. Cette option ne peut pas être appliquée.
Tous les référentielsActive Code Quality pour tous les référentiels actuels et futurs.
Référentiels sélectionnésPermet d’activer Code Quality pour une liste spécifique de dépôts que vous sélectionnez. Les dépôts que vous ne sélectionnez pas sont désactivés et les nouveaux référentiels ne sont pas activés automatiquement. Convient mieux aux projets pilotes ou aux exceptions.
Correspondant à un filtreActive les référentiels Code Quality qui correspondent à un filtre que vous définissez, maintenant et à l’avenir. Les référentiels qui ne correspondent pas sont désactivés. Consultez les référentiels de filtrage.

Filtrage des référentiels

Lorsque vous choisissez Mise en correspondance d’un filtre, vous créez un filtre dynamique qui active automatiquement les dépôts existants et futurs qui correspondent à vos critères Code Quality . Cela est utile pour la gouvernance continue à grande échelle.

Vous pouvez filtrer sur n’importe quelle combinaison des critères suivants :

  • Visibilité : Indique si les référentiels sont publics, privés ou internes. Utile pour des politiques globales, comme l’activation de Code Quality pour tous les dépôts privés.
  • Statut du fork : Si les dépôts sont des forks. Utile lorsque les forks ne doivent pas consommer de ressources d’analyse.
  • Propriété personnalisée : Indique si les référentiels ont une valeur de propriété personnalisée spécifique. Par exemple, vous pouvez cibler des référentiels avec une team:platform propriété.

Toutes les conditions d’un filtre sont combinées avec AND: un référentiel doit donc correspondre à chaque condition à activer. Vous pouvez également exclure les référentiels qui correspondent à des conditions spécifiques.

Contrôle de l’accès

Par défaut, les administrateurs de référentiels peuvent modifier Code Quality les paramètres de leurs propres référentiels. Pour éviter cela, activez Forcer l’accès.

Verrous d’application dans les états activés et désactivés définis par votre option d’accès au référentiel , afin que les administrateurs de référentiel ne puissent pas les remplacer. Cela améliore la cohérence au sein de votre organisation, mais réduit la flexibilité pour les administrateurs de référentiels individuels.

  • Cette règle s’applique à la plupart des options de accès au dépôt que vous sélectionnez, y compris Aucun dépôt, ce qui force Code Quality à être désactivé.
  • L’application de cette règle n’est pas possible avec Laisser les référentiels décider, car ce paramètre laisse intentionnellement le choix aux administrateurs des référentiels.

Planification de votre déploiement

Étant donné qu’un seul changement de paramètre d’accès au référentiel peut être activé Code Quality sur de nombreux référentiels à la fois et que chaque analyse consomme des GitHub Actions minutes, il vaut la peine de se déployer dans des phases plutôt que toutes en même temps. Au fur et à mesure que vous prévoyez, pesez quelques choses :

  • Coût et capacité. Vérifiez que vos coureurs peuvent absorber la charge supplémentaire GitHub Actions avant d’activer Code Quality largement.
  • Combien appliquer. L’application de cette règle vous offre une couverture uniforme et empêche les administrateurs de dépôt de s’y soustraire, mais elle leur retire toute flexibilité. Le fait de le laisser désactivé permet aux équipes d’opter pour leur propre chronologie.
  • Quand étendre. Commencez par un petit groupe pilote représentatif, confirmez que l’analyse s’exécute en douceur et que les développeurs approuvent les résultats, puis élargissez votre sélection ou filtre pour couvrir davantage de dépôts.

Pour une procédure de déploiement pas à pas, y compris le pilotage de vos seuils de qualité en mode d’évaluation avant de les appliquer, consultez Déployer GitHub Code Quality à grande échelle.