Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

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.

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 deine Entwickler*innen verwenden dürfen. Entscheide zunächst, ob du den Zugriff auf Aktionen von außerhalb deiner Instanz aktivieren möchtest. Wenn Benutzer in Ihrem Unternehmen Zugriff auf andere Aktionen von GitHub.com oder GitHub Marketplace benötigen, gibt es einige Konfigurationsoptionen. Weitere Informationen findest du unter Informationen zum Verwenden von Aktionen in deinem Unternehmen.

Dann zunächst, ob du Drittanbieteraktionen zulässt, die nicht von GitHub erstellt wurden. Du kannst die Aktionen 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 zulässt, kannst du zulässige Aktionen auf diejenigen beschränken, die von überprüften Autor*innen erstellt wurden oder die in einer Liste mit bestimmten Aktionen aufgeführt sind.

Weitere Informationen findest du unter Verwalten von GitHub Actions-Einstellungen für ein Repository, GitHub Actions für deine Organisation Deaktivieren oder Einschränken und Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

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 Streamen des Überwachungsprotokolls für ein Unternehmen und Protokollweiterleitung.

Sie können das Prinzip der geringsten Rechte ausüben, indem Sie benutzerdefinierte Organisationsrollen für den Zugriff auf Einstellungen in Ihrer GitHub Actions CI/CD-Datenpipeline verwalten. Weitere Informationen zu benutzerdefinierten Organisationsrollen finden Sie unter „Informationen zu benutzerdefinierten Organisationsrollen“.

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 Methoden 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 Verwenden von Geheimnissen in GitHub-Aktionen.

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 Verwalten von Umgebungen für die Bereitstellung.

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 Sicherheitshärtung für GitHub Actions.

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 finden Sie 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.

Sie können Workflowvorlagen 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 Workflowvorlagen für die 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.

Hardwareanforderungen

Eventuell musst du ein Upgrade der CPU- und Arbeitsspeicherressourcen für Ihre GitHub Enterprise Server-Instance durchführen, um die Last von GitHub Actions ohne Leistungsverlust zu verarbeiten. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.

Runner

GitHub Actions-Workflows benötigen Runner. Sie müssen eigene Runner hosten, indem Sie die selbstgehostete Runneranwendung von GitHub Actions auf Ihre eigenen Computer installieren. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Entscheide, ob du physische Computer, virtuelle Computer oder Container für deine selbstgehosteten Runner 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 finden Sie unter Selbst-gehostete Runner hinzufügen und unter Verwalten des Zugriffs auf selbstgehostete Runner mithilfe von Gruppen. Sie können auch Richtlinien verwenden, um zu verhindern, dass Personen selbstgehostete Runner auf Repository-Ebene verwenden. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

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 und Freigeben von Daten aus einem Workflow.

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 Abhängigkeiten zwischenspeichern um Workflows zu beschleunigen.

Du musst externen Blobspeicher für Workflowartefakte, Caches und andere Workflowprotokolle konfigurieren. Entscheide, welchen unterstützten Speicheranbieter dein Unternehmen verwendet. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.

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.

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 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.