Skip to main content

Einführen von GitHub Actions in deinem Unternehmen

Du kannst planen, wie du GitHub Actions in deinem Unternehmen einführen möchtest.

Informationen zu GitHub Actions für Unternehmen

GitHub Actions ist eine Plattform für Continuous Integration und Continuous Delivery (CI/CD), mit der du deine Build-, Test- und Bereitstellungspipeline automatisieren kannst. Mit GitHub Actions kann dein Unternehmen deine Softwareentwicklungs-Workflows wie Tests und Bereitstellungen automatisieren, anpassen und ausführen. Weitere Informationen findest du unter Informationen zu GitHub Actions für Unternehmen.

Diagramm der auf selbstgehosteten Runnern ausgeführten Aufträge

Bevor du GitHub Actions in einem großen Unternehmen einführst, musst du die Einführung zuerst planen und Entscheidungen darüber treffen, wie das Unternehmen GitHub Actions verwenden soll, um seine besonderen Anforderungen optimal zu unterstützen.

Governance und Einhaltung

Du solltest einen Plan erstellen, um das Verwenden von GitHub Actions in deinem Unternehmen zu steuern und deine Complianceverpflichtungen zu erfüllen.

Bestimme, welche Aktionen und wiederverwendbare Workflows deine Entwicklerinnen verwenden dürfen. Entscheide zunächst, ob du Drittanbieteraktionen und wiederverwendbare Workflows zulässt, die nicht von GitHub erstellt wurden. Du kannst die Aktionen und wiederverwendbaren Workflows konfigurieren, die auf Repository-, Organisations- und Unternehmensebenen ausgeführt werden dürfen. Außerdem kannst du auch nur Aktionen zulassen, die von GitHub erstellt wurden. Wenn du Drittanbieteraktionen und wiederverwendbare Workflows zulässt, kannst du zulässige Aktionen auf diejenigen beschränken, die von überprüften Autorinnen erstellt wurden oder die in einer Liste mit bestimmten Aktionen und wiederverwendbaren Workflows aufgeführt sind. Weitere Informationen findest du unter Verwalten von GitHub Actions-Einstellungen für ein Repository, Deaktivieren oder Einschränken von GitHub Actions für deine Organisation und Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

Screenshot von GitHub Actions-Richtlinien

Erwäge, OpenID Connect (OIDC) mit wiederverwendbaren Workflows zu kombinieren, um konsistente Bereitstellungen in deinem Repository, deiner Organisation oder deinem Unternehmen zu erzwingen. Dies erreichst du durch das Definieren von Vertrauensbedingungen für Cloudrollen basierend auf wiederverwendbaren Workflows. Weitere Informationen findest du unter Verwenden von OpenID Connect mit wiederverwendbaren Workflows.

Über die Überwachungsprotokolle deines Unternehmens kannst du auf Informationen zu Aktivitäten im Zusammenhang mit GitHub Actions zugreifen. Wenn deine geschäftlichen Anforderungen voraussetzen, dass diese Informationen länger aufbewahrt werden als die Daten der Überwachungsprotokolle, plane das Exportieren und Speichern dieser Daten außerhalb von GitHub. Weitere Informationen findest du unter Exportieren von Überwachungsprotokollaktivitäten für dein Unternehmen und Streamen des Überwachungsprotokolls für dein Unternehmen.

Überwachungsprotokolleinträge

Sicherheit

Du solltest deine Herangehensweise an die Sicherheitshärtung von GitHub Actions planen.

Sicherheitshärtung einzelner Workflows und Repositorys

Plane, gute Sicherheitspraktiken für Personen mit Features von GitHub Actions innerhalb deines Unternehmens zu erzwingen. Weitere Informationen zu diesen Praktiken findest du unter Sicherheitshärtung für GitHub Actions.

Du kannst auch das Wiederverwenden von Workflows unterstützen, deren Sicherheit bereits bewertet wurde. Weitere Informationen findest du unter Innersourcing.

Absichern des Zugriffs auf Geheimnisse und Bereitstellungsressourcen

Du solltest planen, wo du deine Geheimnisse speicherst. Es wird empfohlen, Geheimnisse auf GitHub zu speichern, aber du kannst Geheimnisse auch bei einem Cloudanbieter speichern.

Auf GitHub kannst du Geheimnisse auf Repository- oder Organisationsebene speichern. Geheimnisse auf Repositoryebene können auf Workflows in bestimmten Umgebungen beschränkt werden, z. B. Produktion oder Test. Weitere Informationen findest du unter Verschlüsselte Geheimnisse.

Screenshot einer Liste von Geheimnissen Du solltest erwägen, eine Schutzfunktion mit manueller Genehmigung für vertrauliche Umgebungen hinzuzufügen, sodass Workflows genehmigt werden müssen, bevor auf die Geheimnisse der Umgebungen zugegriffen werden kann. Weitere Informationen findest du unter Verwenden von Umgebungen für Bereitstellungen.

Sicherheitsaspekte für Aktionen von Drittanbietern

Es besteht ein erhebliches Risiko, wenn Aktionen aus Drittanbieterrepositorys in GitHub ausgeführt werden. Wenn du Aktionen von Drittanbietern zulässt, solltest du interne Richtlinien erstellen, die dein Team ermutigen, bewährte Methoden zu befolgen, z. B. das Anheften von Aktionen an vollständige Commit-SHAs. Weitere Informationen findest du unter Verwenden von Drittanbieteraktionen.

Innersourcing

Denke darüber nach, wie dein Unternehmen Features von GitHub Actions für das Innersourcing der Automatisierung verwenden kann. Innersourcing ist eine Möglichkeit, die Vorteile von Open-Source-Methoden in den internen Softwareentwicklungszyklus einzubeziehen. Weitere Informationen findest du unter Einführung ins Innersourcing in den GitHub-Ressourcen.

Um Aktionen für dein gesamtes Unternehmen freizugeben, ohne diese für den öffentlichen Zugriff zu veröffentlichen, kannst du die Aktionen in einem internen Repository speichern und dieses dann so konfigurieren, dass der Zugriff auf GitHub Actions-Workflows in anderen Repositorys im Besitz derselben Organisation oder einer anderen Organisation im Unternehmen zugelassen ist. Weitere Informationen findest du unter Freigeben von Aktionen und Workflows in deinem Unternehmen.

Mit wiederverwendbaren Workflows kann dein Team einen Workflow aus einem anderen Workflow aufrufen, um eine exakte Duplizierung zu vermeiden. Wiederverwendbare Workflows fördern bewährte Methoden, indem dein Team so Workflows verwendet, die gut konzipiert sind und bereits getestet wurden. Weitere Informationen findest du unter Wiederverwenden von Workflows.

Du kannst Starterworkflows als Ausgangspunkt für Entwicklerinnen bereitstellen, die neue Workflows erstellen. So sparen deine Entwicklerinnen nicht nur Zeit, sondern du förderst auch unternehmensweit Konsistenz und bewährte Methoden. Weitere Informationen findest du unter Erstellen von Starterworkflows für deine Organisation.

Wenn deine Workflowentwickler*innen eine Aktion verwenden möchten, die in einem privaten Repository gespeichert ist, müssen sie den Workflow so konfigurieren, dass das Repository zuerst geklont wird. Um die Anzahl der zu klonenden Repositorys zu verringern, solltest du häufig verwendete Aktionen in einem einzelnen Repository gruppieren. Weitere Informationen findest du unter Informationen zu benutzerdefinierten Aktionen.

Verwalten von Ressourcen

Du solltest das Verwalten der benötigten Ressourcen zum Verwenden von GitHub Actions planen.

Runner

GitHub Actions-Workflows benötigen Runner. Du kannst von GitHub gehostete oder selbstgehostete Runner verwenden. Von GitHub gehostete Runner sind praktisch, da sie von GitHub verwaltet werden. Auch Wartung und Upgrades werden so für dich übernommen. Wenn du einen Workflow ausführen musst, bei dem auf Ressourcen hinter deiner Firewall zugegriffen wird, oder wenn du mehr Kontrolle über die Ressourcen, die Konfiguration oder den geografischen Standort der Computer benötigst, auf denen die Runner ausgeführt werden, solltest du jedoch selbstgehostete Runner in Betracht ziehen. Weitere Informationen findest du unter Informationen zu von GitHub gehosteten Runnern und Informationen zu selbstgehosteten Runnern.

Wenn du selbstgehostete Runner verwendest, musst du entscheiden, ob du physische Computer, virtuelle Computer oder Container verwenden möchtest. Auf physischen Computern verbleiben Reste früherer Aufträge. Dies gilt auch für virtuelle Computer, es sei denn, du verwendest für jeden Auftrag ein frisches Image oder bereinigst die Computer nach jeder Auftragsausführung. Wenn du dich für Container entscheidest, solltest du dir bewusst sein, dass der Container bei automatischen Updates des Runners heruntergefahren wird. Dabei kann es passieren, dass Workflows fehlschlagen. Du solltest dafür eine Lösung finden, indem du automatische Updates verhinderst oder den Befehl zum Beenden des Containers überspringst.

Du musst auch entscheiden, wo die einzelnen Runner hinzugefügt werden sollen. Du kannst einen selbstgehosteten Runner einem einzelnen Repository hinzufügen, oder du kannst den Runner für eine gesamte Organisation oder dein gesamtes Unternehmen zur Verfügung stellen. Das Hinzufügen von Runnern auf Organisations- oder Unternehmensebene ermöglicht die Freigabe von Runnern. Dadurch wird möglicherweise die Größe der Runnerinfrastruktur verringert. Du kannst Richtlinien verwenden, um den Zugriff auf selbstgehostete Runner auf Organisations- und Unternehmensebene zu beschränken, indem du Gruppen von Runnern bestimmten Repositorys oder Organisationen zuweist. Weitere Informationen findest du unter Hinzufügen von selbstgehosteten Runnern und Verwalten des Zugriffs auf selbstgehostete Runner mithilfe von Gruppen.

Du solltest die automatische Skalierung erwägen, um die Anzahl der verfügbaren selbstgehosteten Runner automatisch zu erhöhen oder zu verringern. Weitere Informationen findest du unter Automatische Skalierung mit selbstgehosteten Runnern.

Schließlich solltest du die Sicherheitshärtung für selbstgehostete Runner berücksichtigen. Weitere Informationen findest du unter Sicherheitshärtung für GitHub Actions.

Storage

Mit Artefakten kannst du Daten zwischen Aufträgen in einem Workflow teilen und Daten nach Abschluss des Workflows speichern. Weitere Informationen findest du unter Speichern von Workflowdaten als Artefakte.

GitHub Actions verfügt auch über ein Cachesystem, mit dem du Abhängigkeiten zwischenspeichern kannst, um die Ausführung von Workflows zu beschleunigen. Weitere Informationen findest du unter Zwischenspeichern von Abhängigkeiten zum Beschleunigen von Workflows.

Mit Richtlinieneinstellungen für GitHub Actions kannst du das Speichern von Workflowartefakten, Caches und die Protokollaufbewahrung anpassen. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

Eine gewisse Speichermenge ist in deinem Abonnement enthalten, aber zusätzlicher Speicherplatz wirkt sich auf deine Rechnung aus. Du solltest diese Kosten einplanen. Weitere Informationen findest du unter Informationen zur Abrechnung für GitHub Actions.

Nachverfolgen der Nutzung

Du solltest einen Plan zum Nachverfolgen der durch dein Unternehmen erfolgenden Nutzung von GitHub Actions erstellen. Überlege zum Beispiel, wie oft Workflows ausgeführt werden, wie viele dieser Ausführungen erfolgreich sind und wie viele fehlschlagen, und von welchen Repositorys welche Workflows verwenden.

Du kannst grundlegende Details zu Speicher- und Datenübertragungsnutzung von GitHub Actions für jede Organisation in deinem Unternehmen mithilfe der Abrechnungseinstellungen anzeigen. Weitere Informationen findest du unter Anzeigen der GitHub Actions-Nutzung.

Wenn du ausführlichere Nutzungsdaten anzeigen möchtest, kannst du Webhooks verwenden, um Informationen über Workflowaufträge und Workflowausführungen zu abonnieren. Weitere Informationen findest du unter Informationen zu Webhooks.

Plane, wie dein Unternehmen die Informationen aus diesen Webhooks in ein Datenarchivierungssystem übertragen kann. Du kannst „CEDAR.GitHub.Collector“ verwenden, ein Open-Source-Tool, mit dem Webhookdaten aus GitHub gesammelt und verarbeitet werden. Weitere Informationen findest du im Microsoft/CEDAR.GitHub.Collector-Repository.

Du solltest auch planen, wie du es deinen Teams ermöglichst, die benötigten Daten aus deinem Archivierungssystem abzurufen.