Verwalten von Aktionen und Workflows
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.
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.
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:
Erstellen einer
yml
-Workflowdatei.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 Namenocto-organization-ci.properties.json
die Metadaten für die Workflowdatei mit dem Namenocto-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).