Skip to main content

Einführung von GitHub Code Quality in großem Maßstab

Bringen Sie Code Quality mit Zuversicht in jedes Team, indem Sie zunächst mit einer kleinen Gruppe pilotieren 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. Am besten, wenn das Pilotprojekt automatisch wachsen soll, wenn Teams weitere Repositorys kategorisieren.

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 wird gemeldet, welche Pull Requests Code Quality blockiert würden, ohne sie tatsächlich zu blockieren, damit Ihre Pilotteams die Auswirkungen sehen können, bevor sie durchgesetzt wird.

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ürde, 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 das verbindliche Gate, sodass Sie eine letzte Überprüfung haben, bevor Sie die Bereitstellung 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 Repositories entscheiden lassen, damit Teams die Funktion nach ihrem eigenen Zeitplan selbst aktivieren können.
  • Durch aktivieren Code Quality wird die Codeabdeckung****nicht automatisch aktiviert. Coverage muss für jedes Repository einzeln aktiviert werden. Die Berichterstattung beginnt erst, wenn jemand einen Workflow hinzufügt, der Coverage-Daten hochlädt, sodass Teams zunächst Code Quality einführen und die Coverage später hinzufügen können. Siehe Einrichten der Codeabdeckung für Ihr Repository.

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.

Nächste Schritte