Github Actions ist ein leistungsstarkes Tool, das es Entwicklern ermöglicht, Workflow-Automatisierung direkt in ihren Github-Repositories einzurichten. Es bietet eine Vielzahl von Funktionen, die es Teams erleichtern, ihre Entwicklungs- und Bereitstellungsprozesse zu automatisieren. Eine dieser Funktionen ist die Möglichkeit, Umgebungsvariablen festzulegen, die von den Actions innerhalb eines Workflows verwendet werden können. In diesem Artikel werden wir uns genauer mit dem Setzen von Umgebungsvariablen in einer Github-Action befassen und untersuchen, wie diese Variablen in verschiedenen Szenarien verwendet werden können.
Grundlagen von Umgebungsvariablen
Umgebungsvariablen sind Werte, die von einem Betriebssystem bereitgestellt werden und von Programmen oder Skripten verwendet werden können, um auf wichtige Informationen zuzugreifen. Sie können zum Beispiel den Pfad zu Systemdateien oder wichtige Konfigurationsparameter enthalten. Das Setzen von Umgebungsvariablen in einer Github-Action ermöglicht es uns, die Ausführung der Action abhängig von bestimmten Bedingungen oder Parametern zu steuern.
Setzen einer Umgebungsvariable in Github Actions
Um eine Umgebungsvariable in einer Github-Action zu setzen, können wir das ‚env‘-Schlüsselwort verwenden. Hier ist ein einfaches Beispiel:
“‘
name: Meine Github-Action
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setze Umgebungsvariable
env:
MY_VARIABLE: Wert der Variable
run: echo „Der Wert ist $MY_VARIABLE“
“‘
In diesem Beispiel setzen wir die Umgebungsvariable ‚MY_VARIABLE‘ auf den Wert „Wert der Variable“ und geben den Wert dann in der Ausgabe aus. Beachten Sie, dass der Zugriff auf eine Umgebungsvariable durch ein führendes „Dollarzeichen“ (‚$‘) erfolgt.
Verwenden von Umgebungsvariablen in Actions
Sobald wir eine Umgebungsvariable gesetzt haben, können wir sie in anderen Actions oder Skripten verwenden. Angenommen, wir haben eine Umgebungsvariable ‚API_KEY‘, die den Zugriff auf eine externe API ermöglicht. Wir können diese Variable in unserer Action wie folgt verwenden:
“‘
name: Meine Github-Action
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setze Umgebungsvariable
env:
API_KEY: ${{ secrets.API_KEY }}
run: |
echo „Der API-Schlüssel ist $API_KEY“
curl -H „Authorization: Bearer $API_KEY“ https://api.example.com
“‘
In diesem Beispiel verwenden wir die ’secrets‘-Funktion von Github Actions, um den Wert der Umgebungsvariable ‚API_KEY‘ aus den Repository-Geheimnissen abzurufen. Anschließend verwenden wir den API-Schlüssel in einem cURL-Befehl, um eine Anfrage an die externe API zu senden. Dies zeigt, wie Umgebungsvariablen in komplexeren Szenarien verwendet werden können.
Set environment variables // GitHub Actions
Weitere Verwendungszwecke für Umgebungsvariablen
Umgebungsvariablen in Github Actions können auf verschiedene Arten verwendet werden. Hier sind einige Beispiele:
- Konfigurationsparameter: Sie können Umgebungsvariablen verwenden, um Konfigurationseinstellungen für Ihre Actions festzulegen. Dies ermöglicht es Ihnen, die Ausführung Ihrer Actions abhängig von der Umgebung anzupassen, in der sie ausgeführt werden.
- Geheimnisse: Umgebungsvariablen können verwendet werden, um den Zugriff auf vertrauliche Informationen zu ermöglichen, wie z.B. API-Schlüssel oder Passwörter. Durch die Verwendung der ’secrets‘-Funktion von Github Actions können diese sensiblen Informationen sicher gespeichert und abgerufen werden.
- Bedingte Ausführung: Sie können Umgebungsvariablen verwenden, um bestimmte Actions nur unter bestimmten Bedingungen auszuführen. Zum Beispiel können Sie eine Umgebungsvariable festlegen, die angibt, ob der aktuelle Branch ein Produktionssch branch ist. Basierend auf dem Wert dieser Variable können Sie dann entscheiden, ob eine Deployment-Action ausgeführt werden soll oder nicht.
Fazit
Das Setzen von Umgebungsvariablen in Github Actions ermöglicht es Entwicklern, ihre Workflows flexibler und anpassungsfähiger zu gestalten. Indem sie Umgebungsvariablen verwenden, können sie die Ausführung ihrer Actions steuern, vertrauliche Informationen sicher speichern und abrufen sowie bestimmte Actions nur unter bestimmten Bedingungen ausführen. Dies ermöglicht es Teams, ihre Arbeitsabläufe weiter zu automatisieren und ihre Entwicklungsprozesse zu optimieren.