Verwalten von Aktionen und Workflows

Abgeschlossen

Hier erkunden Sie die verschiedenen Tools und Strategien, die Ihnen in GitHub Enterprise Cloud und GitHub Enterprise Server zur Verfügung stehen, um GitHub-Aktionen und -Workflows freizugeben und ihre Verwendung in Ihrem Unternehmen zu verwalten.

Der Inhalt ist gemäß der Ebene strukturiert, auf der die vorgestellten Tools verfügbar sind: Unternehmensebene oder Organisationsebene.

Auf Unternehmensebene

Konfigurieren einer GitHub Actions-Verwendungsrichtlinie

GitHub Actions-Workflows enthalten häufig Aktionen, bei denen es sich um Sätze eigenständiger Befehle handelt, die innerhalb des Workflows ausgeführt werden sollen. Beim Erstellen eines Workflows können Sie eigene Aktionen erstellen, um öffentliche Communityaktionen zu verwenden, die über GitHub Marketplace verfügbar sind, oder darauf zu verweisen. Aus diesem Grund ist es wichtig, eine Verwendungsrichtlinie für Workflows und Aktionen in Ihrem Unternehmen zu konfigurieren, um zu verhindern, dass Benutzer schädliche Aktionen von Drittanbietern verwenden.

In Enterprise Cloud stehen Ihnen mehrere Optionen zur Verfügung, um eine Richtlinie zu konfigurieren, ebenfalls in Enterprise Server, wenn GitHub Connect in Ihren Unternehmenseinstellungen aktiviert ist.

Navigieren Sie zum Konfigurieren einer GitHub Actions-Richtlinie für Ihr Unternehmen zu Ihrem Unternehmenskonto und dann zu Policies > Actions (Richtlinien > Aktionen) in der Randleiste. Die folgenden Optionen sollten angezeigt werden.

Screenshot: Bildschirm „Aktionen“ mit ausgewählten Standardoptionen.

In der Dropdownliste oben mit dem Titel Für alle Organisationen aktivieren können Sie entscheiden, welche Organisationen in Ihrem Unternehmen GitHub Actions verwenden können (alle, einige oder keine), während Sie mit den drei darunter liegenden Optionen die Einschränkungsstufe von GitHub Actions innerhalb dieser Organisationen definieren können.

Wenn Sie nur bestimmte Aktionen zur Verwendung in Ihrem Unternehmen aktivieren möchten, wählen Sie Unternehmen und ausgewählte Nicht-Unternehmen-Elemente, Aktionen und wiederverwendbare Workflows zulassen aus. Wählen Sie dann die Option aus, die Ihrem Anwendungsfall entspricht.

Screenshot: Bildschirm „Aktionen“ mit ausgewählter Option „Ausgewählte Aktionen zulassen“.

Manuelles Synchronisieren öffentlicher Aktionen für Enterprise Server

Die meisten offiziellen über GitHub verfügbaren Aktionen sind automatisch mit Enterprise Server gebündelt und werden zu einem bestimmten Zeitpunkt aus GitHub Marketplace erfasst. Dazu gehören actions/checkout, actions/upload-artifact, actions/download-artifact, actions/labeler und verschiedene actions/setup--Aktionen. Um alle offiziellen Aktionen abzurufen, die in Ihrer Unternehmensinstanz enthalten sind, navigieren Sie zur Aktionsorganisation für Ihre Instanz: https://HOSTNAME/actions..

Wie im Abschnitt Konfigurieren einer Verwendungsrichtlinie für GitHub Actions bereits erwähnt wurde, ist es möglich, Enterprise Server so zu konfigurieren, dass automatisch auf die öffentlichen Aktionen zugegriffen wird, die in GitHub Marketplace verfügbar sind, und eine Verwendungsrichtlinie für sie zu konfigurieren. Wenn Sie jedoch eine strengere Kontrolle über die öffentlichen Aktionen wünschen, die in Ihrem Unternehmen verfügbar gemacht werden sollen, können Sie Aktionen mithilfe des actions-sync-Tools manuell herunterladen und mit Ihrer Unternehmensinstanz synchronisieren.

Auf Organisationsebene

Dokumentieren von Unternehmensstandards

Das Erstellen eines GitHub Actions-Workflows umfasst häufig das Schreiben mehrerer Dateien und das Erstellen mehrerer Repositorys, um den Workflow selbst anzugeben. Das Erstellen umfasst auch die Aktionen, Container und/oder Runner, die im Workflow verwendet werden sollen. Abhängig von der Anzahl der Benutzer in Ihrer Enterprise Cloud- oder Enterprise Server-Instanz kann dies ziemlich schnell unübersichtlich werden, wenn Sie keine Unternehmensstandards zum Erstellen von GitHub Actions-Workflows eingerichtet haben.

Als bewährte Methode wird empfohlen, Folgendes in einem GitHub-Wiki oder als Markdowndatei in einem Repository zu dokumentieren, auf das alle Benutzer innerhalb einer Organisation zugreifen können:

  • Repositorys für Speicher
  • Namenskonventionen für Dateien/Ordner
  • Speicherort freigegebener Komponenten
  • Pläne für die laufende Wartung
  • Richtlinien für Mitwirkende

Erstellen von Workflowvorlagen

Workflowvorlagen sind eine hervorragende Möglichkeit, um sicherzustellen, dass Automatisierung in Ihrem Unternehmen wiederverwendet und verwaltet wird. Sowohl in Enterprise Cloud als auch in Enterprise Server können Benutzer mit Schreibzugriff auf das .github-Repository einer Organisation Workflowvorlagen erstellen, die für die anderen Mitglieder der Organisation mit demselben Schreibzugriff zur Verfügung stehen. Workflowvorlagen können dann verwendet werden, um neue Workflows in den öffentlichen und privaten Repositorys der Organisation zu erstellen.

Das Erstellen einer Workflowvorlage erfolgt in zwei Schritten:

  1. Erstellen einer yml-Workflowdatei.

  2. Erstellen Sie eine json-Metadatendatei, die beschreibt, wie die Vorlage den Benutzern beim Erstellen eines Workflows zur Verfügung gestellt werden soll.

    Hinweis

    Die Metadatendatei muss den gleichen Namen wie die Workflowdatei aufweisen. Anstelle der .yml-Erweiterung muss an sie .properties.json angefügt werden. Beispielsweise enthält eine Datei mit dem Namen octo-organization-ci.properties.json die Metadaten für die Workflowdatei mit dem Namen octo-organization-ci.yml.

Beide Dateien müssen in einem öffentlichen .github-Repository und in einem Verzeichnis mit dem Namen workflow-templates gespeichert werden. Sie müssen diese Elemente möglicherweise erstellen, wenn sie noch nicht in Ihrer Organisation vorhanden sind.

Im Folgenden finden Sie ein Beispiel für eine einfache Workflowdatei:

name: Octo Organization CI

on:
  push:
    branches: [ $default-branch ]
  pull_request:
    branches: [ $default-branch ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Run a one-line script
        run: echo Hello from Octo Organization

Beachten Sie, dass in der Datei oben ein Platzhalter $default-branch verwendet wird. Wenn ein Workflow mit Ihrer Vorlage erstellt wird, wird dieser Platzhalter automatisch durch den Namen des Standardbranchs des Repositorys ersetzt.

Im Folgenden sehen Sie die Metadatendatei, die Sie für die Workflowdatei erstellen würden:

{
    "name": "Octo Organization Workflow",
    "description": "Octo Organization CI workflow template.",
    "iconName": "example-icon",
    "categories": [
        "Go"
    ],
    "filePatterns": [
        "package.json$",
        "^Dockerfile",
        ".*\\.md$"
    ]
}

Metadatendateien verwenden die folgenden Parameter:

Parameter Beschreibung des Dataflows Erforderlich
name Name der Workflowvorlage, die in der Liste der verfügbaren Vorlagen angezeigt wird. Ja
description Beschreibung der Workflowvorlage, die in der Liste der verfügbaren Vorlagen angezeigt wird. Ja
iconName Definiert ein Symbol für den Eintrag des Workflows in der Vorlagenliste. Muss ein SVG-Symbol mit dem gleichen Namen sein und im Verzeichnis workflow-templates gespeichert werden. Beispielsweise wird auf eine SVG-Datei mit dem Namen example-icon.svg als example-icon verwiesen. Nein
categories Definiert die Sprachkategorie des Workflows. Wenn ein Benutzer die verfügbaren Vorlagen anzeigt, werden die Vorlagen, die derselben Sprache entsprechen, deutlicher hervorgehoben. Nein
filePatterns Ermöglicht die Verwendung der Vorlage, wenn sich im Repository des Benutzers eine Datei im Stammverzeichnis befindet, die einem definierten regulären Ausdruck entspricht. Nein

Nachdem eine Workflowvorlage erstellt wurde, finden Benutzer in Ihrer Organisation diese unter Actions > New workflow > Workflows created by _your_organization_name (Aktionen > Neuer Workflow > Workflows, die von Name_Ihrer_Organisation erstellt wurden).

Workflowvorlagenbeispiel.