Build-Umgebungsvariablen festlegen (Quellbereitstellung)

Build-Umgebungsvariablen sind Schlüssel/Wert-Paare, mit denen Sie Konfigurationsinformationen 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 Build-Zeit verfügbar sind. Sie ist für Plattformentwickler relevant, die Cloud Run-Dienste oder Funktionen aus dem Quellcode bereitstellen. Die Build-Umgebungsvariablen für gcloud CLI-Flags werden für Quellcodebereitstellungen (--source) unterstützt, nicht aber für Container-Image-Bereitstellungen (--image).

Sie können Umgebungsvariablen für die Dienst- oder Funktionskonfiguration verwenden, aber wir empfehlen sie nicht zum Speichern von Secrets wie Datenbankanmeldedaten oder API-Schlüsseln. Speichern Sie vertrauliche Werte außerhalb Ihres Quellcodes und Ihrer 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, falls sie noch nicht aktiviert sind.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. 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 Deployer-Konto 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 Cloud Build-Standarddienstkonto, um Ihren Quellcode und Ihre Cloud Run-Ressource zu erstellen, sofern Sie dieses Verhalten nicht überschreiben. 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 CloudProjektnummer und PROJECT_ID durch Ihre Google CloudProjekt-ID. Eine detaillierte Anleitung zum Ermitteln der Projekt-ID und der Projektnummer finden Sie unter 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 mitGoogle 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 Variablen für die Build-Umgebung definieren. Das kombinierte Limit für Schlüssel und Werte beträgt 64 KiB.

Build-Umgebungsvariablen festlegen

Sie können Build-Umgebungsvariablen festlegen, um neue Variablen einzurichten oder vorhandene Build-Variablen komplett 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, aber nicht gelöscht.

gcloud

Verwenden Sie zum Aktualisieren von Build-Umgebungsvariablen für vorhandene Dienste das Flag --update-build-env-vars:

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 Inhalt der Datei, der so aussehen sollte:

 KEY1: VALUE1
 KEY2: VALUE2

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