GitHub Enterprise-Features

Abgeschlossen

Als GitHub Enterprise-Administrator sind Sie für die Einrichtung von Entwicklungsumgebungen verantwortlich, die sowohl sicher als auch skalierbar sind. In dieser Lektion wird erläutert, wie Sie zwischen den Funktionen für die Verwaltung und Automatisierung von GitHub Enterprise unterscheiden und wie Sie Ihre Organisation für eine effiziente Zusammenarbeit konfigurieren.

Außerdem stellen wir standardsbasierte Entwicklerworkflows und -regelets vor – leistungsstarke Tools für die zentralisierte Richtlinienerzwingung.

GitHub Enterprise: Upkeep vs. Automation

GitHub Enterprise umfasst alle Features von GitHub-Team sowie unternehmensspezifische Funktionen, die kategorisiert sind:

  • Upkeep: Features, die Sicherheit, Zugriff und Support verbessern.
  • Automatisierung: Features, die manuelle Arbeitsauslastung für Entwickler reduzieren und die Codequalität im großen Maßstab verbessern.

Praktisches Beispiel

Stellen Sie sich vor, Ihre Organisation hat ein externes Auftragnehmerteam zur Bereitstellung eines neuen Produktfeatures gebracht. Als Administrator können Ihre Zuständigkeiten Folgendes umfassen:

  • Aktivieren privater GitHub-Seiten für die kontrollierte Dokumentationsfreigabe (ein Upkeep-Feature).
  • Überwachen der Verwendung von GitHub-Aktionen, um eine effiziente Automatisierung im erweiterten Team (ein Automatisierungsfeature) sicherzustellen.

Diagramm der Kategorien der GitHub Enterprise-Features, die zwischen Upkeep und Automatisierung aufgeteilt werden.

Einrichten von Entwicklerworkflowstandards

Um Konsistenz, Sicherheit und Skalierbarkeit sicherzustellen, sollten GitHub Enterprise-Organisationen die folgenden Workflowstandards einhalten:

1. Zusammenarbeitsmodelle

Arbeitsablauf Wann verwenden Sie
Verzweigung und Pull Open Source oder organisationsübergreifende Zusammenarbeit.
Verzweigung Interne Teamentwicklung innerhalb freigegebener Repositorys.

2. Verzweigungskonventionen

  • Übernehmen Sie ein einheitliches Benennungsschema (z. B. feature/*, bugfix/*).
  • Verwenden oder maindevelop als stabile Integrationszweige für CI/CD-Pipelines.

3. Rulesets: Moderne Richtlinienerzwingung

Regelets sind gitHubs empfohlene Mechanismen zum Erzwingen von Richtlinien im großen Maßstab. Im Gegensatz zu herkömmlichen Verzweigungsschutzregeln können Sie Richtlinien zentral in mehreren Repositorys und Teams verwalten.

Screenshot der Übersicht über Rulesets.

Vorteile von Rulesets

  • Zentrale Kontrolle über Repositoryrichtlinien.
  • Konsistenz bei der Durchsetzung in allen Teams.
  • Skalierbarkeit für wachsende Organisationen.
  • Präzise Flexibilität durch mehrschichtige Kombinationen.

Beispielrichtlinien

  • Anfordern von Pullanforderungsüberprüfungen.
  • Erzwingen Sie CI/CD-Prüfungen vor dem Zusammenführen.
  • Einschränken des Zugriffs auf geschützte Verzweigungen.

Screenshot des Regelet-Erzwingungsdashboards.

Kombinieren von Rulesets und Branch Protection (Legacy-Unterstützung)

  • Verwenden Sie Regelets als primären Mechanismus.
  • Layer branch protection rules for repository-specific exceptions.
  • Vermeiden Sie Überlappungen zwischen beiden, um Richtlinienkonflikte zu reduzieren.

Upkeep-Features: Unterstützen von sicherem Zugriff und Vorgängen

Die Upkeep-Features reduzieren die Reibung in der Benutzererfahrung, sorgen für eine sichere Zugriffssteuerung und unterstützen Hybrid-Cloud-Umgebungen.

Wichtige Upkeep-Features

Merkmal BESCHREIBUNG
Enterprise-Support Direkter Support von GitHub.
SAML/SCIM-Authentifizierung Zentralisiert die Identitäts- und Zugriffsverwaltung.
GitHub Connect Ermöglicht die Integration zwischen Enterprise Cloud und Server.
Zugriffssteuerungen für GitHub-Seiten Beschränkt die Sichtbarkeit der Dokumentation auf interne Mitarbeiter.

Exemplarische Vorgehensweise für die Konfiguration

Aktivieren von SAML-SSO

  1. Verbinden Sie Ihren Identitätsanbieter (IdP) mit GitHub.
  2. Wählen Sie in ihren Organisationseinstellungen die OPTION SAML-Authentifizierung erforderlich aus.
  3. Geben Sie Ihre Anmelde-URL, den Aussteller und das Zertifikat an.

Zugriff auf GitHub-Seiten einschränken

  1. Wechseln Sie zu Ihren privaten Repositoryeinstellungen.
  2. Legen Sie die Sichtbarkeit von GitHub-Seiten auf "Privat" fest.
  3. Vergewissern Sie sich, dass auf keine öffentlichen URLs zugegriffen werden kann.

Aktivieren von GitHub Connect

  1. Melden Sie sich bei GitHub Enterprise Server und GitHub.com an.
  2. Wählen Sie in den Servereinstellungen "GitHub Connect aktivieren" aus.
  3. Wählen Sie Organisationen aus, die für einheitliche Suche und Beiträge verknüpft werden sollen.

Automatisierungsfeatures: Sichere und skalierbare Workflows

Automatisierungsfeatures helfen dabei, menschliche Fehler zu reduzieren, Codierungsstandards zu erzwingen und CI/CD zu optimieren.

Kernautomatisierungsfeatures

Merkmal BESCHREIBUNG
GitHub Advanced Security (GHAS) Überprüft Code auf Sicherheitsrisiken und geheime Schlüssel.
GitHub-Aktionsminuten Automatisieren Sie Builds, Tests und Bereitstellungen.
Automatische Sicherheitsupdates Hält Abhängigkeiten sicher und up-to-date.

Nachverfolgen der Automatisierungsnutzung

GitHub Advanced Security (GHAS)

  1. Navigieren Sie zu ihren Unternehmenseinstellungen>.
  2. Überprüfen Sie die Benutzernutzung unter GitHub Advanced Security.
  3. Wenn Sie Grenzwerte nähern, bewerten Sie die Nutzung nach Team, und priorisieren Sie sie.

Screenshot des GHAS-Nutzungsdashboards.

GitHub-Aktionen

  1. Navigieren Sie zu "Ihre Unternehmen>"-Einstellungen > für GitHub-Aktionen für die Abrechnung>.
  2. Überwachen Sie die Nutzung mit Ihrem monatlichen Speicher von 50.000 Minuten und 50 GB.
  3. Hinweis: Kosten für die Nutzung von Läufern:
    • Linux: Baseline.
    • Windows: 2x Linux-Rate.
    • macOS: 10x Linux-Rate.

Screenshot der Nutzung von GitHub-Aktionen in Minuten.

CI/CD-Strategie in GitHub Enterprise

GitHub Enterprise ermöglicht sichere und skalierbare CI/CD-Praktiken mithilfe von GitHub-Aktionen und Integrationen mit externen Tools.

Wesentliche Funktionen

  • GitHub-Aktionen: Definieren Sie Workflows in YAML, um Builds, Tests und Bereitstellungen zu automatisieren, die von GitHub-Ereignissen ausgelöst werden (z. B. Pushes, Pullanforderungen).
  • Buildpipelines: Automatisieren der Codekompilierung, Komponententests, Artefakterstellung und PR-Validierung.
  • Automatisierte Tests: Integrieren Sie Komponenten-, Integrations- und Sicherheitstests, um die Qualität vor dem Zusammenführen sicherzustellen.
  • Kontinuierliche Bereitstellung (CD): Automatische Freigabe für Staging oder Produktion mit optionalen Genehmigungen.
  • Toolkette Flexibilität: Unterstützung für Jenkins, CircleCI, Azure Pipelines und vieles mehr über Webhooks und GitHub Marketplace-Apps.
  • Versionsautomatisierung: Lösen Sie markierte Versionen mit Änderungsprotokollen und versionsierten Artefakten aus CI-Workflows aus.
  • Sicherheit in CI/CD: Integrieren Sie Dependabot, geheime Überprüfungen und Compliance-Prüfungen direkt in Pipelines.
  • Überwachung und Benachrichtigungen: Konfigurieren Sie Warnungen und integrieren Sie Observability-Tools, um die Integrität und Leistung der Bereitstellung nachzuverfolgen.

Tipp

Definieren Sie wiederverwendbare Workflows und Umgebungen (z. B. Staging, Produktion), um Konsistenz und Kontrolle sicherzustellen.

Erste Schritte

So automatisieren Sie die Bereitstellung:

  1. Erstellen Sie ein .github/workflows/ Verzeichnis in Ihrem Repository.
  2. Definieren sie eine CI/CD-Pipeline mithilfe von GitHub Actions YAML (z. B. ci-cd.yml).
  3. Verwenden Sie geheime Schlüssel, um Anmeldeinformationen sicher zu verwalten.
  4. Nutzen Sie Umgebungen und manuelle Genehmigungen für die Bereitstellungsgating.

Überwachen der Organisationsintegrität

Verwenden Sie Erkenntnisse, um Nutzungstrends, Zusammenarbeitsmuster und Risikobereiche zu identifizieren:

Einblicke in Organisationsaktivitäten

  • Zeigen Sie Trends in Pullanforderungen, Problemen und Codesprachen an.
  • Bewerten der Teamverteilung und des Entwicklereinsatzes.

Abhängigkeitserkenntnisse

  • Identifizieren sie Sicherheitsrisiken in Abhängigkeiten von Drittanbietern.
  • Überprüfen Sie Lizenzrisiken, und bewerten Sie den Sicherheitsstatus.

Tools: Erweitern von GitHub-Workflows

Administratoren können Tools von Drittanbietern und GitHub Marketplace-Integrationen genehmigen, konfigurieren und verwalten.

Verantwortlichkeiten

  • Genehmigen sie Apps auf Organisation/Repository-Ebene.
  • Überwachen von Berechtigungsänderungen.
  • Bevorzugen Sie Tools mit bestätigten Creator-Badges für eine höhere Vertrauenswürdigstellung.

Screenshot des Verified Creator-Badges auf GitHub Marketplace.

Marketplace-Richtlinien

Kategorie Kriterien
CI/CD-Tools Tragbare, dynamische, offene Standardskonforme Tools für die Automatisierung.
Bestätigte Ersteller Benötigen Sie 2FA, überprüfte Domänen und GitHub-Partnerschaft.

CI/CD-Tools: Wonach gesucht werden soll

Wählen Sie Tools aus, die eine kontinuierliche Integration, Bereitstellung oder Bereitstellung unterstützen:

  • Offene Standards: Einfach zu übernehmen und zu trainieren.
  • Dynamische Variablen: Zentrale Steuerung für skalierungsworkflows.
  • Flexibilität: Anpassungsfähig in hybriden oder cloudeigenen Umgebungen.