Variablen in CI/CD-Pipelines verwenden

CI/CD-Grundlagen

3. Variablen in CI/CD-Pipelines verwenden

Geheime Variablen werden während der Ausführung einer Pipeline als Umgebungsvariablen eingebunden. So können Sie sie sicher in Ihren CI/CD-Skripten oder Befehlen nutzen, ohne die Werte direkt in der Datei .gitlab-ci.yml zu hinterlegen.

3.1 Schritt-für-Schritt-Anleitung

1. Variablen zum Projekt hinzufügen

  1. Öffnen Sie Ihr Projekt in GitLab.

  2. Gehen Sie zu Settings > CI/CD.

  3. Klappen Sie den Abschnitt Variables auf.

    CI/CD-Einstellungen, Abschnitt Variables: eine leere Tabelle CI/CD Variables mit den Spalten Key, Value, Environments und Actions und einem Knopf Add variable.

  4. Klicken Sie auf Add variable.

  5. Geben Sie den Key und den Value der Variablen ein.

    • Für dieses Beispiel erstellen Sie zwei Variablen:
      • Variable 1:
        • Key: NORMAL_VAR_1
        • Value: ThisIsNormalValue1
      • Variable 2:
        • Key: NORMAL_VAR_2
        • Value: ThisIsNormalValue2

    Bereich Add variable mit den Feldern Type, Environments, Visibility, Flags (Protect variable und Expand variable reference angehakt), Description, Key und Value sowie den Knöpfen Add variable und Cancel.

  6. Legen Sie bei Bedarf den Gültigkeitsbereich der Variablen fest (Projekt- oder Gruppenebene) und markieren Sie sie als Protected oder Masked.

    • Protected: Die Variable steht nur auf geschützten Branches oder Tags zur Verfügung.
    • Masked: Der Wert der Variablen wird in Job-Protokollen nicht angezeigt.
    • Hinweis: Geschützte und maskierte Variablen werden in späteren Lektionen behandelt.
  7. Klicken Sie auf Add variable, um die geheime Variable zu speichern.

2. Variablen in der .gitlab-ci.yml verwenden

Nachdem Sie geheime Variablen zu Ihrem Projekt hinzugefügt haben, können Sie diese direkt in Ihrer Konfigurationsdatei .gitlab-ci.yml referenzieren.

Beispiel: Eine geheime Variable in einem Job zum Bereitstellen einer Anwendung verwenden

deploy_production:
  stage: deploy
  script:
    - deploy_script.sh $PRODUCTION_API_KEY
  environment:
    name: production
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

In diesem Beispiel wird $PRODUCTION_API_KEY während der Pipeline-Ausführung als geheime Variable an das Skript deploy_script.sh übergeben.