Wenn Sie neu bei den Umgebungsvariablen von GitHub Actions sind, haben Sie möglicherweise noch nicht gelernt, wie Sie sie speichern können. Aber ist es möglich? Ja!
In diesem Tutorial erfahren Sie verschiedene Möglichkeiten, wie Sie Ihre Umgebungsvariablen von GitHub Actions speichern können sowie Secrets, die Sie bei der Arbeit mit GitHub Actions verwenden können, wenn Sie sie benötigen.
Bereit? Lesen Sie weiter, um loszulegen!
Voraussetzungen
In diesem Tutorial wird eine praktische Demonstration durchgeführt, für die jedes Betriebssystem mit installiertem Git geeignet ist. Im Tutorial wird das Ubuntu-Betriebssystem verwendet. Darüber hinaus ist grundlegendes Wissen über Git-Operationen erforderlich, um Code in ein Repository für Umgebungsvariablen von GitHub Actions zu übertragen.
Einstellungen für Umgebungsvariablen von GitHub Actions
Wenn Sie Prozesse mit einer GitHub Actions-Workflow automatisieren, kann es erforderlich sein, Umgebungsvariablen an Ihre Workflows anzuhängen. Wie? Sie müssen zuerst benutzerdefinierte Umgebungsvariablen in Ihrem Workflow erstellen und angeben, indem Sie das Schlüsselwort env
verwenden.
1. Erstellen Sie ein Verzeichnis mit dem Namen .github/workflows, in dem Sie Ihre Workflow-Datei speichern.
2. Als nächstes erstellen Sie eine Datei mit Ihrem bevorzugten Namen im Verzeichnis .github/workflows. Aber für dieses Beispiel ist die Datei main.yml benannt. Kopieren Sie den untenstehenden Code in die Datei main.yml.
Der folgende Code setzt und zeigt die Umgebungsvariable API_KEY
an, wenn der Code den Workflow auslöst.
3. Committen und pushen Sie den Code in Ihr GitHub-Repository.

4. Öffnen Sie nun Ihren Webbrowser und navigieren Sie zu Ihrem Projekt auf GitHub. Klicken Sie auf den Tab Actions, dann auf Ihren aktuellen Commit.
Sie werden etwas Ähnliches wie das folgende Bild sehen, das zeigt, dass GitHub den Workflow ausgeführt hat.

5. Klicken Sie abschließend entweder auf job1 oder job2, und Sie werden feststellen, dass Sie erfolgreich die Umgebungsvariable referenziert haben, die Sie initialisiert haben.


Definieren einer Umgebungsvariable für einen Job
Jetzt, da Sie die Umgebungsvariable in der gesamten Arbeitsablaufdatei initialisiert haben, kann jeder Job die Umgebungsvariable referenzieren. Aber vielleicht möchten Sie nur, dass ein Job die Umgebungsvariable referenziert. Wenn ja, platzieren Sie das Schlüsselwort env
im Job selbst.
1. Ersetzen Sie den Code in Ihrer Datei main.yml durch den folgenden Code.
Der untenstehende Code zeigt, dass, wenn Sie die Umgebungsvariable in einem bestimmten Job platzieren, andere Jobs nicht auf die Umgebungsvariable verweisen können.
2. Bestätigen Sie Ihre Änderungen und pushen Sie Jobs von Ihrem Code in die GitHub Actions-Umgebungsvariablen, wie Sie es im vorherigen Abschnitt getan haben.
3. Navigieren Sie abschließend zu Ihrem Projekt auf GitHub und klicken Sie dann sowohl auf job1 als auch auf job2, um ihren Vergleich zu sehen:
- job1 – Sie werden feststellen, dass Sie die Umgebungsvariable perfekt referenziert haben.
- job2 – Der API-Schlüssel ist leer.


Definition einer Umgebungsvariable für einen Schritt
Jetzt, da Sie gelernt haben, wie Sie Umgebungsvariablen innerhalb eines Jobs angeben können, fragen Sie sich vielleicht, wie Sie dasselbe mit den Schritten tun können.
Für die Schritte in einem Job geben Sie die Umgebungsvariable innerhalb des Schritts an, wie Sie es für den Job getan haben.
1. Ersetzen Sie den Code, den Sie in Ihrer main.yml-Datei haben, durch den folgenden Code.
Im folgenden Code geben Sie die Umgebungsvariable in Schritt 1
an, aber nicht in Schritt 2
, und Sie werden die Auswirkung in den folgenden Schritten sehen.
2. Jetzt die Änderungen übernehmen und den Code auf GitHub hochladen.
3. Navigieren Sie schließlich zu Ihrem Projekt auf GitHub Actions-Umgebungsvariablen und klicken Sie auf job1.
Auch wenn Sie die beiden API-Schlüssel im selben Job (job1) in beiden Schritten referenzieren, konnte Schritt 2 den API-Schlüssel (leer) nicht bewerten, wie unten dargestellt. Warum? Weil Sie die Umgebungsvariable nicht innerhalb von Schritt 2
in Ihrem Code angegeben haben.

Verwalten von Umgebungsvariablen über GitHub Actions-Umgebungsvariablen und Secrets
Anstatt sie fest zu codieren, möchten Sie Ihre Umgebungsvariable möglicherweise sicher speichern, und GitHub-Secrets können genau das tun. GitHub Actions-Umgebungsvariablen verschlüsseln die Werte, die Sie in Secrets einfügen, sodass sie mit bloßem Auge weder sichtbar noch lesbar sind.
Das mit dieser Methode erstellte Geheimnis ist für den gesamten Workflow, Jobs und Schritte zugänglich; es gibt keine Einschränkungen.
Um Ihre Umgebungsvariable in GitHub Secrets zu speichern:
1. Zuerst laden Sie Ihren Code wie in den vorherigen Abschnitten auf GitHub hoch.
2. Gehen Sie als nächstes zu Ihrem Projekt auf GitHub und klicken Sie auf den Einstellungen-Tab.
Klicken Sie auf Secrets im Tab unten, um ein Geheimnis hinzuzufügen.

3. Klicken Sie als Nächstes auf das Neues Repository-Geheimnis, und Sie sehen ein Formular, um Details zum hinzuzufügenden Geheimnis einzugeben.

4. Füllen Sie das Formular entsprechend aus (Name und Wert) und klicken Sie auf die Schaltfläche Geheimnis hinzufügen, um es zu übermitteln. Jetzt ist der API_KEY
in GitHub Secrets gespeichert. Auf diese Weise setzt GitHub Umgebungsvariablen sicher als Secrets, auf die Sie bei der Arbeit mit GitHub Actions verweisen können.

5. Bearbeite deine Datei main.yml und ersetze das Schlüsselwort env
durch secrets
.
Unten siehst du, dass du den API-Schlüssel in diesem Format ${{secrets.API_KEY}}
referenzierst, anstatt den API-Schlüssel selbst fest zu codieren.
6. Committe und pushe schließlich den Code auf GitHub und navigiere zu deinem Projekt in der GitHub Actions-Umgebung. Beziehe dich auf den ersten Abschnitt.
Du wirst etwas Ähnliches wie das untenstehende Bild sehen, aber du kannst den tatsächlichen API_key
nicht sehen, da GitHub die Werte, die du in Secrets einfügst, verschlüsselt.

Referenzierung der Standard-GitHub-Umgebungsvariablen
Es gibt ein paar Standard-Umgebungsvariablen, die von GitHub bereitgestellt werden, die du verwenden kannst, um auf Dateisysteme im Repository zuzugreifen, anstatt Pfade fest zu codieren. Standard-GitHub-Umgebungsvariablen ermöglichen es dir, dynamischer auf dir von GitHub gegebenen Umgebungsvariablen zu verweisen.
Einige der Pfade, die du mit den Standard-Umgebungsvariablen erhalten kannst, sind wie folgt:
GITHUB_JOB
– Bietet die job_id des aktuellen Jobs.GITHUB_ACTION
– Bietet die ID der aktuellen Aktion.GITHUB_ACTION_PATH
– Bietet den Pfad, in dem sich Ihre Aktion befindet.GITHUB_ACTOR
– Bietet den Namen der Person oder App, die den Workflow initiiert hat, wie Ihren GitHub-Benutzernamen.GITHUB_RUN_ID
– Bietet die eindeutige Nummer des Befehlsrun
.
Ersetzen Sie den Inhalt Ihrer main.yml Datei durch den untenstehenden Code. Der untenstehende Code zeigt die Standardumgebungsvariable, die im Code angegeben ist.
Commit und pushen Sie die Codeänderungen auf GitHub, überprüfen Sie Ihre Aktionen in Ihrem GitHub Actions Umgebungsvariablen-Projekt und Sie werden etwas Ähnliches wie das untenstehende Bild sehen.

Abschluss
Im Verlauf dieses Tutorials haben Sie gelernt, wie Sie GitHub Actions Umgebungsvariablen verwalten. Sie sollten nun ein grundlegendes Verständnis dafür haben, wie Umgebungsvariablen sicher gespeichert und Standardvariablen von GitHub verwendet werden können.
Jetzt, wie planen Sie, dieses neu gefundene Wissen bei der Arbeit mit GitHub Actions einzubeziehen? Vielleicht das Speichern der für die Bereitstellung erforderlichen API-Schlüssel?
Source:
https://adamtheautomator.com/github-actions-environment-variables/