Skip to main content

Automatisierungen in Ihrem Unternehmen

Erfahren Sie, wie GitHub Apps, externe Dienste und GitHub Actions zusammenarbeiten, um Prozesse in Ihrem Unternehmen zu automatisieren.

Automatisierung auf GitHub umfasst in der Regel mehrere Komponenten, die zusammenarbeiten. Die wichtigsten GitHub native Komponenten sind:

  • Workflows GitHub Actions, die eine Laufzeitumgebung für die Ausführung der Automatisierungslogik bereitstellen. Standardmäßig funktionieren sie innerhalb eines einzelnen Repositorys, können aber erweitert werden, um sie über oder sogar außerhalb von Repositorys zu automatisieren.
  • GitHub Apps, die keine Laufzeitumgebung haben. Stattdessen stellen sie Identitäten, Berechtigungen und Ereignisübermittlung bereit, damit Ihre Automatisierungen, unabhängig davon, ob externe Dienste oder Workflows, sicher authentifiziert und agieren können.

Die meisten Unternehmensautomatisierungen verwenden GitHub Apps und GitHub Actions zusammen. Beispielsweise kann ein Workflow, der in GitHub Actions ausgeführt wird, ein GitHub App verwenden, um ein kurzlebiges Token zu erhalten, das es ermöglicht, Aufgaben über Repositorys oder Organisationen hinweg auszuführen.

In diesem Handbuch wird erläutert, wie GitHub Apps, externe Automatisierungen und GitHub Actions einander ergänzen und wann sie in Ihrem Unternehmen verwendet werden.

GitHub Apps

Ein GitHub App stellt die Identitäts-, Berechtigungs- und Webhook-Ereignisse bereit, die für die Automatisierung in oder über Repositorys, Organisationen oder Ihr Unternehmen erforderlich sind. GitHub Apps selbst führen keine Logik aus, sie ermöglichen es anderen Systemen, dies zu tun.

GitHub Apps unterstützen die Unternehmensautomatisierung durch:

  • Granulare Berechtigungen , um das Prinzip der geringsten Rechte zu befolgen
  • Installationen mit festem Umfang auf Unternehmens-, Organisations- oder Repository-Ebene
  • Kurzlebige Token für sicheren Zugriff
  • Unterschiedliche Identitäten mit vollständiger Auditierbarkeit
  • Delegierte Verwaltung über die Rolle "GitHub App Manager"
  • Skalierbare Konsistenz bei unternehmenseigenem Account

Was ermöglichen GitHub Apps?

GitHub Apps erlauben Automatisierungen, die Sie an anderer Stelle schreiben ( z. B. externe Dienste oder Workflowschritte ), um auf GitHub APIs innerhalb der von Ihnen erteilten Berechtigungen zu reagieren. Beispiel:

  • Empfangen von Webhook-Ereignissen und Auslösen externer Dienste
  • Das Aktivieren eines Workflows, um außerhalb seines Standard-Repository-Bereichs zu agieren.
  • Integrieren von GitHub in Drittanbietersysteme
  • Koordinieren von Änderungen in vielen Repositorys
  • Ausführen von langlebigen Bots oder Diensten, die aktivitäten auf Unternehmensebene überwachen

Hinweis

Vom Unternehmen installierte GitHub Apps können nicht jeden API-Endpunkt aufrufen. Weitere Informationen findest du unter Installieren einer GitHub-App in deinem Unternehmen.

GitHub Actions

GitHub Actions stellen die integrierte Laufzeit von GitHub für die Ausführung von Automatisierungslogik in Repositorys bereit. Workflows werden auf gehosteten oder selbst gehosteten Runnern ausgeführt und eignen sich ideal für Aufgaben, die an Codeänderungen oder Ereignisse im Repository gebunden sind.

Nutzen Sie GitHub Actions für:

  • CI/CD (Build, Test, Bereitstellen)
  • Pull-Request-Prüfungen und -Validierungen
  • Wartungsaufgaben auf Repositoryebene
  • Ereignisgesteuerte Workflows, die auf Push-, Tags- oder Problemaktualisierungen reagieren
  • Geplante Aufträge mit Cron

Wie GitHub Actions GitHub Apps verwendet

GitHub Actions und GitHub Apps sind eng miteinander verbunden:

  • Workflowberechtigungen entsprechen direkt den Berechtigungen der GitHub App.
  • Workflows können als eine spezifische GitHub App unter Verwendung von actions/create-github-app-token authentifizieren.
  • GitHub Apps können Workflows durch Ereignisse wie zum Beispiel repository_dispatch auslösen.

Externe Automatisierungen und Dienste

Externe Automatisierungen werden außerhalb von GitHub in Ihrer eigenen Infrastruktur ausgeführt. Diese Dienste sind in der Regel:

  • Empfange Webhook-Ereignisse von einem GitHub App
  • Verwenden Sie die GitHub App, um kurzlebige Installationstoken anzufordern.
  • Ausführen von lang andauernder oder unternehmensübergreifender Logik
  • Integration in externe Geschäftssysteme

Beispiele sind:

  • Organisationsweite Konfigurationsverwaltung
  • Richtlinienerzwingungsdienste
  • Multi-Repository-Code oder Metadatensynchronisierung
  • Erstellung von Complianceberichten
  • Organisationsübergreifendes Issue- oder Pull-Request-Management

Alle diese Komponenten basieren auf GitHub Apps für die Authentifizierung, Identität und Ereignisse, nicht für die Ausführung.

Zusammenarbeit dieser Komponenten

Bei der meisten Unternehmensautomatisierung wird eine Kombination aus GitHub Apps, externen Diensten und GitHub Actions verwendet, um stabile, skalierbare Workflows zu erzielen.

Beispiel:

  1. Ein Unternehmen GitHub App empfängt einen Webhook, wenn ein neues Repository erstellt wird, und sendet die Webhook-Nutzlast an einen Server, auf dem ein externer Dienst ausgeführt wird.
  2. Der externe Dienst standardisiert die erforderlichen Einstellungen und stellt Ressourcen zur Auswahl.
  3. Der Dienst löst einen GitHub Actions Workflow im Repository aus.
  4. Der Workflow führt die kontinuierliche Integration (CI) aus, stellt Vorlagen bereit oder konfiguriert das Scannen.

Jede Komponente behandelt eine andere Automatisierungsebene.

Wann jeder Automatisierungstyp verwendet werden soll

Verwenden Sie bei Bedarf ein GitHub App :

  • Authentifizierung oder Berechtigung zum Handeln in vielen Repositorys
  • Integration in externe Systeme
  • Webhook-gesteuerte Automatisierungen
  • Langlebige oder unternehmensweite Workflows
  • Auditierbarkeit und Identitätstrennung

Verwenden Sie bei Bedarf externe Automatisierungen :

  • Logik, die kontinuierlich oder außerhalb von GitHub ausgeführt wird
  • Integration in interne Systeme

Verwenden Sie GitHub Actions, wenn Sie es brauchen:

  • CI/CD-Pipelines
  • Repository-bezogene Automatisierung
  • Automatisierte Prüfungen, die an Repositoryereignisse gebunden sind
  • Ausführung logischer Prozesse mithilfe der Runner-Infrastruktur von GitHub

Verwenden Sie GitHub Apps und GitHub Actions zusammen, wenn:

  • Ein Workflow muss über die Standardberechtigungen des Repositorys hinausgehen
  • Ein GitHub App muss einen Workflow auslösen
  • Externe Logik koordiniert die In-Repo-Ausführung
  • Unternehmensweite Richtlinien oder Workflows erfordern sowohl Identität als auch Laufzeit

Nächste Schritte

Informationen zum Erstellen von GitHub Apps, um auf Ressourcen auf Unternehmensebene zuzugreifen und Workflows zu automatisieren, finden Sie unter Erstellen von Unternehmens-Apps.