Umgebungsvariablen und Secrets
Lernen Sie, vertrauliche Informationen und umgebungsspezifische Konfigurationen innerhalb von GitHub Actions sicher zu verwalten.
Umgebungsvariablen und Secrets ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Umgebungsvariablen und Secrets: Grundlagen
Willkommen bei Lektion 3! In CI/CD müssen Sie Ihre Pipelines häufig mit dynamischen Werten oder vertraulichen Informationen konfigurieren.
Hier kommen Umgebungsvariablen und Secrets ins Spiel. Sie ermöglichen es Ihren Workflows, sich an unterschiedliche Szenarien anzupassen und vertrauliche Daten sicher zu verarbeiten.
Warum verwendet man sie in CI/CD?
Stellen Sie sich vor, Sie deployen in verschiedene Umgebungen (Entwicklung, Staging, Produktion) oder verbinden sich über API-Schlüssel mit externen Diensten.
- Flexibilität: Mit Umgebungsvariablen können Sie das Verhalten ändern, ohne die Workflow-Datei anzupassen.
- Sicherheit: Secrets schützen vertrauliche Daten wie Passwörter und API-Tokens vor einer Offenlegung.
- Wiederverwendbarkeit: Definieren Sie Konfigurationen einmal und verwenden Sie sie in mehreren Jobs oder Schritten.
Umgebungsvariablen in Actions
Eine Umgebungsvariable ist ein Wert mit dynamischem Namen, der das Verhalten laufender Prozesse beeinflussen kann. In GitHub Actions sind Umgebungsvariablen entscheidend dafür, dass sich Ihre Workflows konfigurieren lassen.
Sie können eigene Umgebungsvariablen definieren oder die zahlreichen von GitHub Actions bereitgestellten integrierten Variablen verwenden.
Integrierte Umgebungsvariablen von GitHub Actions
GitHub Actions stellt automatisch viele nützliche, vordefinierte Umgebungsvariablen bereit. Sie liefern Kontext zum Repository, zur Workflow-Ausführung und zu weiteren Aspekten.
Beispielsweise ist GITHUB_SHA der Hash des Commits und GITHUB_REF der Branch- oder Tag-Name, der den Workflow ausgelöst hat.
Sie greifen in Ausdrücken über das Kontextobjekt github oder direkt als Shell-Variablen darauf zu, wenn sie env zugeordnet wurden.
name: Print Context Variables
on: [push]
jobs:
display_info:
runs-on: ubuntu-latest
steps:
- name: Show commit SHA
run: echo "Commit SHA: ${{ github.sha }}"
- name: Show branch/tag ref
run: echo "Ref: ${{ github.ref }}"Eigene Umgebungsvariablen: Workflow-Gültigkeitsbereich
Sie können eigene Umgebungsvariablen auf Workflow- oder Job-Ebene definieren. Variablen auf Workflow-Ebene stehen allen Jobs und Schritten innerhalb dieses Workflows zur Verfügung.
Verwenden Sie das Schlüsselwort env auf der obersten Ebene Ihrer Workflow-Datei, um sie festzulegen.
name: Workflow-level Env Var
on: [push]
env:
GREETING_MESSAGE: "Hello from Workflow!"
jobs:
my_job:
runs-on: ubuntu-latest
steps:
- name: Access workflow variable
run: echo "${{ env.GREETING_MESSAGE }}" # Access via env context
- name: Access workflow variable (shell)
env:
MY_VAR_IN_SHELL: ${{ env.GREETING_MESSAGE }}
run: echo "$MY_VAR_IN_SHELL" # Access as shell variableEigene Umgebungsvariablen: Job- und Schritt-Gültigkeitsbereich
Für spezifischere Anforderungen definieren Sie Umgebungsvariablen auf Job- oder Schritt-Ebene. Eine für einen Job definierte Variable steht allen seinen Schritten zur Verfügung, während eine Variable auf Schritt-Ebene nur in diesem einen Schritt verfügbar ist.
So können Sie Ihre Konfiguration sehr granular steuern.
name: Job & Step-level Env Vars
on: [push]
jobs:
my_job:
runs-on: ubuntu-latest
env:
JOB_VAR: "Value for this job"
steps:
- name: Access Job-level variable
run: echo "Job Var: ${{ env.JOB_VAR }}"
- name: Step-specific variable
env:
STEP_VAR: "Value for this step"
run: echo "Step Var: ${{ env.STEP_VAR }}"
- name: Try to access step var in another step
run: echo "Trying to access: ${{ env.STEP_VAR }}" || true # Will be emptyGitHub Secrets kennenlernen
Umgebungsvariablen eignen sich hervorragend für nicht vertrauliche Daten. Doch was ist mit vertraulichen Informationen wie API-Schlüsseln, Datenbankpasswörtern oder privaten Tokens?
Hier kommen GitHub Secrets zum Einsatz. Damit können Sie vertrauliche Informationen sicher speichern und in Ihren Workflows verwenden, ohne sie im Code oder in den Logs Ihres Repositorys offenzulegen.
- Verschlüsselt: Wird von GitHub sicher gespeichert.
- Unkenntlich gemacht: Wird in Workflow-Logs automatisch ausgeblendet.
- Gesteuerter Zugriff: Ist nur für bestimmte Workflows verfügbar.
GitHub Secrets erstellen
Secrets werden über die Einstellungen Ihres Repositorys oder Ihrer Organisation auf GitHub erstellt und verwaltet, nicht direkt in Ihren Workflow-Dateien.
- Rufen Sie die Settings Ihres Repositorys auf.
- Öffnen Sie Secrets and variables > Actions.
- Klicken Sie auf New repository secret (oder auf ein Organisations-Secret, wenn es für einen größeren Gültigkeitsbereich gelten soll).
- Geben Sie einen Name (z. B.
MY_API_KEY) ein und fügen Sie den Value ein.
Nach dem Speichern können Sie den Wert eines Secrets nicht erneut anzeigen, sondern nur aktualisieren oder löschen.
Secrets in Workflows verwenden
Um ein Secret zu verwenden, referenzieren Sie es in Ihrem Workflow über das Kontextobjekt secrets, ähnlich wie Sie env für Umgebungsvariablen verwenden.
GitHub macht Secrets in Logs automatisch unkenntlich und ersetzt ihre Werte durch ***, um eine versehentliche Offenlegung zu verhindern.
name: Use a Secret Demo
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Display a secret (redacted)
run: echo "My secret key is: ${{ secrets.MY_API_KEY }}"
# GitHub Actions automatically redacts the value in logs.
- name: Pass secret to an environment variable
env:
API_KEY_ENV: ${{ secrets.MY_API_KEY }}
run: echo "API Key in env: $API_KEY_ENV"Best Practices für die Sicherheit von Secrets
Die sichere Verwaltung von Secrets ist für die Integrität Ihrer CI/CD-Pipeline von größter Bedeutung. Befolgen Sie stets diese Richtlinien:
- Prinzip der geringsten Berechtigungen: Gewähren Sie nur dort Zugriff auf Secrets, wo er unbedingt erforderlich ist.
- Niemals fest einprogrammieren: Binden Sie Secrets nicht direkt in Ihre Workflow-Dateien oder in Code des Repositorys ein.
- Protokollierung vermeiden: Obwohl GitHub Secrets unkenntlich macht, sollten Sie eigene
echo-Befehle vermeiden, durch die Teile von Secrets versehentlich sichtbar werden könnten. - Regelmäßig rotieren: Ändern Sie Ihre Secrets regelmäßig, um das Risiko einer Kompromittierung zu minimieren.
- Umgebungsspezifisch: Verwenden Sie unterschiedliche Secrets für Entwicklungs-, Staging- und Produktionsumgebungen.
Schnellcheck: Umgebungsvariablen oder Secrets
Welche Aussage beschreibt zutreffend einen wesentlichen Unterschied oder ein Merkmal von Umgebungsvariablen und Secrets in GitHub Actions?
Rückblick: Sichere Konfigurationen
Hervorragend! Sie haben erfolgreich erkundet, wie Sie Konfigurationen in Ihren GitHub-Actions-Workflows verwalten.
- Umgebungsvariablen helfen Ihnen dabei, nicht vertrauliche, dynamische Daten in Ihre Workflow-Ausführungen einzubinden. Sie können auf Workflow-, Job- oder Schritt-Ebene angepasst werden.
- Secrets sind entscheidend für den sicheren Umgang mit vertraulichen Informationen wie API-Schlüsseln. Sie stellen sicher, dass diese verschlüsselt bleiben und nicht in Ihrem öffentlichen Code auftauchen.
- Halten Sie sich beim Arbeiten mit Secrets stets an Sicherheits-Best Practices, um Ihre Deployments vor Sicherheitslücken zu schützen.
Wenn Sie diese Konzepte beherrschen, sind Ihre CI/CD-Pipelines sowohl flexibel als auch sicher!
Häufig gestellte Fragen
Ist die Lektion „Umgebungsvariablen und Secrets“ kostenlos?
Ja — der vollständige Text von „Umgebungsvariablen und Secrets“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Umgebungsvariablen und Secrets“?
Lernen Sie, vertrauliche Informationen und umgebungsspezifische Konfigurationen innerhalb von GitHub Actions sicher zu verwalten. Du übst CI/CD with GitHub Actions & DevOps Pipelines mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CI/CD with GitHub Actions & DevOps Pipelines zu starten?
Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Umgebungsvariablen und Secrets“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?
Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einführung in Continuous Deployment
- In eine Staging-Umgebung deployen
- Umgebungsvariablen und Secrets
- Mit Freigabestufen in die Produktion deployen