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 Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen.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:
- Cloud Run-Quelldienstentwickler (
roles/run.sourceDeveloper) für Ihr Projekt - Service Usage-Nutzer (
roles/serviceusage.serviceUsageConsumer) für Ihr Projekt - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Cloud Run-Dienstidentität
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.