Build-Umgebungsvariablen festlegen (Quellbereitstellung)

Build-Umgebungsvariablen sind Schlüssel/Wert-Paare, mit denen Sie Konfigurations informationen an Buildpacks übergeben können, wenn Sie aus Quellcode bereitstellen. So können Sie beispielsweise zum Zeitpunkt des Builds Compiler-Optionen anpassen, Buildzeit-Zertifikate angeben, Parameter konfigurieren usw.

Auf dieser Seite wird beschrieben, wie Sie Build-Umgebungsvariablen festlegen, die zur Buildzeit verfügbar sind. Sie ist für Plattformentwickler relevant, die Cloud Run Dienste oder Funktionen aus der Quelle bereitstellen. Die gcloud CLI-Flags für Build-Umgebungsvariablen werden für Quellbereitstellungen (--source) unterstützt, nicht jedoch für Container-Image-Bereitstellungen (--image).

Sie können Umgebungsvariablen für die Dienst- oder Funktionskonfiguration verwenden. Wir empfehlen sie jedoch nicht zum Speichern von Secrets wie Datenbankanmeldedaten oder API-Schlüsseln. Speichern Sie vertrauliche Werte weder im Quellcode noch in Umgebungsvariablen. Wir empfehlen die Verwendung von Secret Manager zum Speichern von Secrets. Informationen zum Konfigurieren von Diensten, die auf in Secret Manager gespeicherte Secrets zugreifen, finden Sie unter Secrets konfigurieren.

Hinweis

  • Aktivieren Sie die Cloud Run Admin API und die Cloud Build APIs.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen.

    APIs aktivieren

    Nachdem die Cloud Run Admin API aktiviert wurde, wird das Compute Engine-Standarddienstkonto automatisch erstellt.

Erforderliche Rollen

Sie oder Ihr Administrator müssen dem Bereitstellerkonto und dem Cloud Build-Dienstkonto die folgenden IAM-Rollen zuweisen.

Klicken, um die erforderlichen Rollen für das Bereitstellerkonto aufzurufen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Bereitstellen aus der Quelle benötigen:

Klicken, um die erforderlichen Rollen für das Cloud Build-Dienstkonto aufzurufen

Cloud Build verwendet automatisch das Compute Engine-Standarddienstkonto als Standard-Cloud Build-Dienstkonto, um Ihren Quellcode und Ihre Cloud Run-Ressource zu erstellen, es sei denn, Sie überschreiben dieses Verhalten. Damit Cloud Build Ihre Quellen erstellen kann, bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto in Ihrem Projekt die Rolle Cloud Run-Builder (roles/run.builder) zuzuweisen:

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

Ersetzen Sie PROJECT_NUMBER durch Ihre Google Cloud Projektnummer und PROJECT_ID durch Ihre Google Cloud Projekt-ID. Eine detaillierte Anleitung zum Ermitteln der Projekt-ID und der Projektnummer, siehe Projekte erstellen und verwalten.

Es dauert einige Minuten, bis die Zuweisung der Rolle „Cloud Run-Builder“ für das Compute Engine-Standarddienstkonto übertragen wurde.

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Dienst mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Maximale Anzahl von Build-Umgebungsvariablen und Limits

Sie können bis zu 100 Build-Umgebungsvariablen mit einem Gesamtlimit von 64 KiB für Schlüssel und Werte definieren.

Build-Umgebungsvariablen festlegen

Sie können Build-Umgebungsvariablen festlegen, um neue Variablen zu erstellen oder vorhandene Build-Variablen vollständig zu ersetzen.

gcloud

Verwenden Sie das Flag --set-build-env-vars, um Build-Umgebungsvariablen festzulegen, wenn Sie einen Dienst aus Quellcode bereitstellen:

gcloud run deploy SERVICE \
    --source . \
    --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Ersetzen Sie:

  • SERVICE durch den Namen Ihres Cloud Run Dienstes.
  • KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der Variablennamen und ihrer Werte, die zusammen mit einer Funktion bereitgestellt werden und Ihnen ermöglichen, Konfigurationsinformationen an Buildpacks zu übergeben.

Wenn Sie eine Funktion bereitstellen, fügen Sie das Flag --function mit dem Funktionseinstiegspunkt aus Ihrem Quellcode hinzu.

Build-Umgebungsvariablen aktualisieren

Sie können Build-Umgebungsvariablen für vorhandene Dienste aktualisieren. Bei diesem nicht destruktiven Ansatz werden Build-Umgebungsvariablen geändert oder hinzugefügt, jedoch nicht gelöscht.

gcloud

Verwenden Sie das Flag --update-build-env-vars, um Build-Umgebungsvariablen für vorhandene Dienste zu aktualisieren:

gcloud run deploy SERVICE \
    --source . \
    --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Wenn Sie eine Funktion bereitstellen, fügen Sie das Flag --function mit dem Funktionseinstiegspunkt aus Ihrem Quellcode hinzu.

Build-Umgebungsvariablen löschen

Sie können Build-Umgebungsvariablen für vorhandene Dienste löschen.

gcloud

Verwenden Sie das Flag --remove-build-env-vars, um Build-Umgebungsvariablen für vorhandene Dienste zu entfernen:

gcloud run deploy SERVICE \
    --source . \
    --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Alternativ können Sie Build-Umgebungsvariablen für vorhandene Dienste mit dem Flag --clear-build-env-vars löschen:

gcloud run deploy SERVICE \
    --source . \
    --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Wenn Sie eine Funktion bereitstellen, fügen Sie das Flag --function mit dem Funktionseinstiegspunkt aus Ihrem Quellcode hinzu.

Datei mit Build-Umgebungsvariablen verwenden

Sie können eine Datei mit Build-Umgebungsvariablen für vorhandene Funktionen verwenden.

gcloud

Verwenden Sie das Flag --build-env-vars-file, um Build-Umgebungsvariablen aus einer Datei festzulegen:

gcloud run deploy SERVICE \
    --source . \
    --build-env-vars-file FILE_NAME.yaml

Ersetzen Sie FILE_NAME.yaml durch den Namen der Datei. Der Inhalt der Datei sollte so aussehen:

 KEY1: VALUE1
 KEY2: VALUE2

Wenn Sie eine Funktion bereitstellen, fügen Sie das Flag --function mit dem Funktionseinstiegspunkt aus Ihrem Quellcode hinzu.