Skip to main content

Rollout von GitHub Code Quality in großem Maßstab

Führen Sie Code Quality mit Zuversicht in jedes Team ein, indem Sie zunächst mit einer kleinen Gruppe als Pilotprojekt beginnen und den Einsatz dann ausweiten, sobald Ihre Qualitätsschwellenwerte optimal abgestimmt sind.

Wer kann dieses Feature verwenden?

Repositorybesitzer, Organisationsbesitzer und Benutzer mit der Administratorrolle

GitHub Team oder GitHub Enterprise Cloud

Code Quality überall auf einmal zu aktivieren bedeutet, dass jedes Team am selben Tag Code Quality-Ergebnisse in seinen Pull Requests sieht, was überraschend und störend sein kann. In diesem Lernprogramm erfahren Sie, wie Sie es in Phasen einführen: Führen Sie zuerst Ergebnisse in eine kleine Gruppe ein, kalibrieren Sie Ihre Schwellenwerte und erweitern Sie sie dann. Sie werden den Wert nachweisen, bevor er sich auf Ihre gesamte Organisation auswirkt.

Voraussetzungen

Planen Ihres Pilotprojekts

Beginnen Sie mit einer kleinen Pilotgruppe statt mit Ihrer gesamten Organisation. Eine gute Pilotgruppe ist ein einzelnes Engineering-Team oder eine zusammengehörige Gruppe von Anwendungen, die aktiv genug ist, um aussagekräftige Erkenntnisse zu liefern, und für die Personen verantwortlich sind, die Ihnen Feedback zu den Ergebnissen geben können.

Um diese Gruppe als Ziel festzulegen, verwenden Sie die Einstellung für den Repositoryzugriff Ihrer Organisation für Code Quality. Sie haben zwei gute Optionen für ein Pilotprojekt:

  • Ausgewählte Repositorys: Wählen Sie eine feste Liste der Pilotrepositorys manuell aus. Am besten, wenn Ihre Pilotgruppe klein und stabil ist.
  • Abgleichen eines Filters: Aktivieren Sie jedes Repository, das kriterien entspricht, die Sie definieren, z. B. eine benutzerdefinierte Eigenschaft wie code-quality-enabled: true. Dies ist ideal, wenn Sie möchten, dass das Pilotprojekt automatisch wächst, sobald Teams weitere Repositorys markieren.

Die Zielbestimmung durch eine benutzerdefinierte Eigenschaft anstatt repositorys einzeln zu benennen, bedeutet, dass Sie das Pilotprojekt später erweitern können, indem Sie die Eigenschaft für weitere Repositorys festlegen. Wenn Sie eine benutzerdefinierte Eigenschaft verwenden möchten:

  1. Erstellen Sie die benutzerdefinierte Eigenschaft. Siehe Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation.
  2. Aktivieren Sie Code Quality auf Organisationsebene, für Repositories, die einem Filter entsprechen. Siehe Codequalitätsaktivierung in Organisationen und Unternehmen.

Aktivieren von Qualitätsregelsätzen im Auswertungsmodus

Aktivieren Sie zuerst die Qualitätsschwellenwerte im Auswertungsmodus. In diesem Modus meldet Code Quality, welche Pull Requests blockiert würden, ohne sie tatsächlich zu blockieren. So können Ihre Pilotteams die Auswirkungen sehen, bevor die Durchsetzung erfolgt.

Richten Sie Ihre Schwellenwerte als Organisationsregelsatz ein, der auf die Pilotrepositories beschränkt ist, und lassen Sie ihn im Auswertungsmodus, bis Sie genügend Pull-Request-Aktivität gesammelt haben, um die Auswirkungen zu beurteilen, in der Regel eine oder zwei Wochen. Siehe Festlegen von Schwellenwerten für die Codequalität für Pullanforderungen.

Passen Sie Ihre Schwellenwerte an

Verwenden Sie die Ergebnisse des Auswertungsmodus, um Ihre Schwellenwerte zu kalibrieren. Überprüfen Sie die Ruleset-Einblicke (verlauf des Regelets), um genau zu sehen, welche Pullanforderungen blockiert wurden und warum. Wenn zu viele Pull Requests blockiert würden, sind Ihre Schwellenwerte möglicherweise strenger, als es Ihre Codebasis derzeit zulässt. Wenn fast keine blockiert werden würden, sollten Sie sie verschärfen. Passen Sie es so lange an, bis das Gate das Qualitätsniveau widerspiegelt, das Sie tatsächlich durchsetzen möchten.

Wechseln zum Erzwingungsmodus

Wenn die Ergebnisse im Modus „Auswerten“ korrekt aussehen, wechseln Sie Ihren Regelsatz von „Auswerten“ auf „Aktiv“. Die Schwellenwerte beginnen jetzt mit dem Blockieren von Pullanforderungen, die sie nicht erfüllen. Ihre Pilotteams durchlaufen die verbindliche Grenze, was Ihnen eine letzte Überprüfung ermöglicht, bevor Sie das Rollout ausweiten.

In Ihrer gesamten Organisation ausweiten

Erweitern Sie den Rollout mit dem, was Sie aus dem Pilotprojekt gelernt haben. Sie können sie auf zwei Arten erweitern:

  • Fügen Sie Ihrer Liste der ausgewählten Repositorys Repositorys hinzu, oder legen Sie Ihre benutzerdefinierte Eigenschaft für weitere Repositorys fest, die Ihrem Filter entsprechen.
  • Sobald Sie sich auf Ihre Schwellenwerte verlassen haben, wechseln Sie ihre Einstellung für den Repositoryzugriff auf alle Repositorys , um sie in einer einzigen Änderung in Ihrer gesamten Organisation anzuwenden Code Quality .

Ein paar Dinge zu wissen, wie sich die Aktivierung auf Organisationsebene verhält, damit Sie den richtigen Ansatz auswählen können:

  • Ihre Auswahl für den Repositoryzugriff gilt sowohl für vorhandene als auch für zukünftige Repositorys, sodass repositorys, die später erstellt wurden, Ihre Wahl automatisch erben. Dies gilt für alle Repositorys, für den Abgleich eines Filters und für keine Repositorys.
  • Aktivieren Sie das Erzwingen des Zugriffs für einen garantierten Basisplan, den Repositoryadministratoren nicht außer Kraft setzen können. Lassen Sie die Option deaktiviert, oder wählen Sie Repositorys entscheiden lassen, damit Teams die Funktion nach ihrem eigenen Zeitplan selbst aktivieren können.

Die vollständige Liste der Zugriffsoptionen und die Funktionsweise der Erzwingung finden Sie unter Codequalitätsaktivierung in Organisationen und Unternehmen.

Programmgesteuert skalieren

Für die meisten Rollouts ist die Aktivierung über die Benutzeroberfläche der beste Ausgangspunkt: Sie können Repositorys direkt filtern und darauf abzielen, was in einem Skript schwieriger zu reproduzieren ist.

Wenn Sie eine Automatisierung für Ihr Rollout benötigen, können Sie Ergebnisse über die REST-API abrufen Code Quality , die für die Berichterstellung beim Erweitern nützlich ist. Sie können Code Quality auch über die REST-API für Repositorys aktivieren, sodass Sie die Aktivierung in Ihrer gesamten Organisation skriptgesteuert vornehmen können, anstatt jedes Repository in der Benutzeroberfläche einzeln zu aktivieren. Siehe REST-API-Endpunkte für die Codequalität.

Einrichten der Codeabdeckung

Fügen Sie Codeabdeckung hinzu, sobald Ihre Schwellenwerte festgelegt sind. Die Codeabdeckung unterscheidet sich von den Qualitätsschwellenwerten, die Sie in den vorherigen Schritten eingeführt haben, sodass Sie sie jederzeit aktivieren können, wenn sie zu Ihren Teams passt, oder sie vollständig überspringen, wenn Sie sie nicht möchten.

Durch aktivieren Code Quality wird die Codeabdeckung nicht automatisch aktiviert. Die Abdeckung ist pro Repository aktiviert und startet die Berichterstellung erst, nachdem ein Workflow, der Abdeckungsdaten hochlädt, zum Repository hinzugefügt wird. Das bedeutet, dass Teams Code Quality zuerst einführen und die Abdeckung später ergänzen können.

Informationen zum Einrichten der Abdeckung für ein Repository finden Sie unter Einrichten der Codeabdeckung für Ihr Repository.

Nächste Schritte

Nachdem Sie Code Quality nun in Ihrer Organisation eingeführt haben, können Sie den Zustand Ihrer Repositorys auf einen Blick beurteilen und entscheiden, worauf Sie sich konzentrieren sollten. Siehe Untersuchung der GitHub-Codequalitätsergebnisse in Ihrer Organisation.