Einführung
In diesem Lab lernen Sie, wie Sie GitHub Actions Secrets verwenden. Secrets sind verschlüsselte Umgebungsvariablen, die Sie in einer Organisation, einem Repository oder einer Repository-Umgebung erstellen. Die von Ihnen erstellten Secrets stehen Ihnen in Ihren GitHub Actions Workflows zur Verfügung.
Dies ist unerlässlich, um sensible Informationen wie API-Schlüssel, Zugriffstoken und Passwörter sicher aufzubewahren. GitHub Actions schwärzt Secrets automatisch in den Protokollen (Logs), um sicherzustellen, dass sie nicht offengelegt werden.
Dieses Lab baut auf dem Repository auf, das Sie in den vorherigen Labs erstellt haben. Sie werden Ihrem github-actions-demo-Repository ein Secret hinzufügen und einen Workflow erstellen, der dieses verwendet.
Sie werden die folgenden Schritte durchführen:
- Ein Repository-Secret zu Ihrem bestehenden GitHub-Repository hinzufügen.
- Das Repository klonen und eine Workflow-Datei erstellen, die auf das Secret verweist.
- Schritte hinzufügen, um das Secret zu verwenden.
- Den Workflow nach GitHub pushen.
- Überprüfen, ob das Secret in den Ausführungsprotokollen maskiert (geschwärzt) ist.
Erstellen eines Repository Secrets namens MY_SECRET in den GitHub-Einstellungen
In diesem Schritt fügen Sie Ihrem bestehenden github-actions-demo-Repository auf GitHub ein Secret (Geheimnis) hinzu und klonen das Repository in Ihre LabEx-Umgebung.
Ein Repository-Secret hinzufügen
- Öffnen Sie Ihren Webbrowser und navigieren Sie zu Ihrem
github-actions-demo-Repository auf GitHub:https://github.com/your-username/github-actions-demo - Klicken Sie auf die Registerkarte Settings (Einstellungen).
- Scrollen Sie in der linken Seitenleiste zum Abschnitt Security (Sicherheit), klicken Sie auf Secrets and variables (Geheimnisse und Variablen) und wählen Sie dann Actions aus.
- Klicken Sie auf die grüne Schaltfläche New repository secret (Neues Repository-Geheimnis).
- Geben Sie die folgenden Details ein:
- Name:
MY_SECRET - Secret:
SuperSecretValue123
- Name:
- Klicken Sie auf Add secret (Geheimnis hinzufügen).

Sie sollten nun MY_SECRET unter "Repository secrets" aufgelistet sehen.
Das Repository klonen
Wechseln Sie nun zurück zur LabEx-Umgebung, um das Repository zu klonen.
- Klicken Sie auf der GitHub-Repository-Seite für
github-actions-demoauf die grüne Schaltfläche Code. - Stellen Sie sicher, dass die Registerkarte HTTPS ausgewählt ist, und kopieren Sie die URL. Sie sollte etwa so aussehen:
https://github.com/your-username/github-actions-demo.git. - Öffnen Sie das Terminal in der LabEx-Umgebung. Der Standardpfad ist
~/project. - Verwenden Sie den Befehl
git clone, um das Repository herunterzuladen. Ersetzen Sieyour-usernamedurch Ihren tatsächlichen GitHub-Benutzernamen.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
Beispielausgabe:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: X, done.
remote: Counting objects: 100% (X/X), done.
remote: Total X (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (X/X), done.
- Navigieren Sie in das geklonte Repository:
cd ~/project/github-actions-demo
Das Secret im Workflow mit ${{ secrets.MY_SECRET }} referenzieren
In diesem Schritt erstellen Sie eine Workflow-Datei, die das gerade erstellte Secret referenziert.
- Stellen Sie sicher, dass Sie sich im Repository-Verzeichnis befinden:
cd ~/project/github-actions-demo
- Erstellen Sie eine neue Datei namens
secrets-demo.ymlim Verzeichnis.github/workflows:
touch .github/workflows/secrets-demo.yml
- Öffnen Sie
.github/workflows/secrets-demo.ymlim WebIDE und fügen Sie den folgenden Inhalt hinzu. Dies definiert einen Basis-Workflow, der beipush-Ereignissen ausgelöst wird.
name: Secrets Demo
on: [push]
jobs:
use-secret:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
Dies richtet den Job ein. Im nächsten Schritt fügen wir die Logik hinzu, um das Secret zu verwenden.
Einen Schritt hinzufügen, um den Secret-Wert sicher auszugeben (echo)
In diesem Schritt modifizieren Sie den Workflow, um auf das Geheimnis zuzugreifen. GitHub Actions ermöglicht Ihnen den Zugriff auf Secrets über die Syntax ${{ secrets.SECRET_NAME }}.
Workflow modifizieren
Öffnen Sie .github/workflows/secrets-demo.yml und fügen Sie den folgenden Schritt zur steps-Liste hinzu. Achten Sie auf die korrekte Einrückung.
- name: Print Secret
env:
MY_SECRET_VAL: ${{ secrets.MY_SECRET }}
run: |
echo "Printing secret directly (masked): ${{ secrets.MY_SECRET }}"
echo "Printing secret from env (masked): $MY_SECRET_VAL"
Ihre vollständige Datei .github/workflows/secrets-demo.yml sollte wie folgt aussehen:
name: Secrets Demo
on: [push]
jobs:
use-secret:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Print Secret
env:
MY_SECRET_VAL: ${{ secrets.MY_SECRET }}
run: |
echo "Printing secret directly (masked): ${{ secrets.MY_SECRET }}"
echo "Printing secret from env (masked): $MY_SECRET_VAL"
Schlüsselkonzept
Wenn Sie ein Secret in einem Workflow verwenden, maskiert GitHub es automatisch in den Logs. Selbst wenn Sie versuchen, es mit echo auszugeben, zeigt die Ausgabe Sternchen (***) anstelle des tatsächlichen Wertes.
Workflow mit Secret-Referenz committen und pushen
In diesem Schritt committen Sie Ihre Änderungen und pushen sie auf GitHub. Dadurch wird die GitHub Action ausgelöst.
- Stellen Sie sicher, dass Sie sich im Repository-Verzeichnis befinden:
cd ~/project/github-actions-demo
- Stagen Sie die Workflow-Datei:
git add .github/workflows/secrets-demo.yml
- Comitten Sie die Änderungen mit einer aussagekräftigen Nachricht:
git commit -m "Add workflow to test secrets"
- Pushen Sie die Änderungen in das Remote-Repository auf GitHub:
git push
Hinweis zur Authentifizierung:
Wenn Sie git push ausführen, werden Sie von der WebIDE automatisch zur Authentifizierung aufgefordert. Befolgen Sie diese detaillierten Schritte:
- Ein Popup erscheint mit der Meldung: "The extension 'GitHub' wants to sign in using GitHub." Klicken Sie auf Allow.
- Es erscheint eine neue Benachrichtigung. Klicken Sie auf "Copy&Continue to GitHub" und anschließend im nächsten Dialog auf "Open".
- Melden Sie sich in dem sich öffnenden Browserfenster bei Ihrem GitHub-Konto an und geben Sie den kopierten Autorisierungscode ein. Nach Bestätigung der Autorisierung schließt sich die Seite automatisch.
- Warten Sie einige Sekunden, und Sie werden sehen, wie das Terminal den Push-Vorgang erfolgreich abschließt.
Datenschutzhinweis: Die WebIDE wird für Authentifizierungszwecke vollen Zugriff auf Ihr GitHub-Konto anfordern. Sie müssen sich keine Sorgen um Datenschutzbedenken machen – die LabEx VM wird sofort nach Abschluss des aktuellen Labs zerstört, und Ihre Anmeldeinformationen sowie Autorisierungsinformationen werden nicht gespeichert.
Logs überprüfen, um sicherzustellen, dass das Secret ohne Offenlegung verwendet wird
Nach dem Pushen Ihres Codes wird der Workflow automatisch auf GitHub ausgelöst. Sie können die Protokolle des Workflow-Laufs einsehen, um zu überprüfen, ob das Secret sicher verwendet wird.
- Besuchen Sie Ihr Repository auf GitHub in einem Webbrowser:
https://github.com/your-username/github-actions-demo - Klicken Sie oben auf der Repository-Seite auf den Tab Actions.
- Sie sollten einen aufgeführten Workflow-Lauf sehen, der wahrscheinlich "Add workflow to test secrets" oder "Secrets Demo" heißt.
Hinweis: Wenn Sie Code pushen, können mehrere Actions ausgelöst werden, falls Sie mehrere Workflow-Dateien in Ihrem Repository haben. Bitte identifizieren Sie den korrekten Workflow-Lauf, indem Sie den Workflow-Namen in der linken Seitenleiste überprüfen oder die Liste der Workflow-Läufe auf der rechten Seite verwenden.
- Klicken Sie auf den Titel des Workflow-Laufs und dann auf den Job use-secret.
- Erweitern Sie den Schritt Print Secret, um die Ausgabe zu sehen.
Sie sollten etwas Ähnliches sehen wie:
Printing secret directly (masked): ***
Printing secret from env (masked): ***
Beachten Sie, dass GitHub Actions das Secret automatisch mit *** in den Protokollen maskiert hat, obwohl der Workflow versucht hat, den Secret-Wert auszugeben. Dies ist ein entscheidendes Sicherheitsmerkmal – es verhindert, dass sensible Informationen versehentlich in Protokollen offengelegt werden, selbst wenn Sie versuchen, sie auszugeben. Dies bestätigt, dass Ihr Secret sicher konfiguriert ist und im Workflow verwendet wird, ohne seinen tatsächlichen Wert preiszugeben.

Zusammenfassung
In diesem Lab haben Sie erfolgreich gelernt, wie Sie:
- Ein Repository Secret in den GitHub Settings erstellen, um sensible Daten zu speichern.
- Eine GitHub Actions Workflow-Datei erstellen.
- Auf das Secret mithilfe der Syntax
${{ secrets.MY_SECRET }}referenzieren. - Das Secret an Umgebungsvariablen innerhalb eines Job-Schritts übergeben.
- Überprüfen, dass GitHub den Secret-Wert automatisch in den Build-Logs maskiert.
Diese Vorgehensweise stellt sicher, dass Ihre sensiblen Daten, wie z.B. Deployment-Schlüssel und API-Tokens, während Ihres gesamten CI/CD-Prozesses sicher bleiben.



