Sie können Umgebungsvariablen konfigurieren, die während der Erstellung des Container-Images festgelegt werden.
Sie können das Container-Image anpassen. Dazu erweitern Sie die Build- und Ausführungs-Images.
Lokale Builds
Bei lokalen Builds müssen die Pack-Befehlszeile und Docker installiert sein.
Vorbereitung
- Installieren Sie die Docker Community Edition (CE) auf Ihrer Workstation. Docker wird von
pack
als OCI-Image-Builder verwendet. - Installieren Sie die Pack-Befehlszeile.
- Installieren Sie das Tool Git Source Control, um die Beispielanwendung von GitHub herunterzuladen.
Umgebungsvariablen festlegen
Zum Festlegen von Umgebungsvariablen für lokale Builds hängen Sie für jede Umgebungsvariable das --env
-Flag an den pack
-Befehl an.
Sie können eine oder mehrere der von Ihrer Laufzeit unterstützten Umgebungsvariablen verwenden.
pack build SERVICE_NAME \
--env ENVIRONMENT_VARIABLE
Ersetzen Sie:
SERVICE_NAME
durch den Namen des Dienstes für Ihre Anwendung oder Funktion.ENVIRONMENT_VARIABLE
durch die Umgebungsvariable, die Sie während der Erstellung festlegen möchten.
- Beispiel
Führen Sie folgenden Befehl aus, um die Umgebungsvariable
GOOGLE_ENTRYPOINT="gunicorn -p :8080 main:app"
im Container-Image festzulegen:pack build my-app \ --builder gcr.io/buildpacks/builder:v1 \ --env GOOGLE_ENTRYPOINT="gunicorn -p :8080 main:app" --env MY-LOCAL-ENV-VARIABLE
Remote-Builds
Verwenden Sie den project.toml
-Projektdeskriptor, um Umgebungsvariablen für Remote-Builds festzulegen.
Der project.toml
-Projektdeskriptor wird von Cloud Build verwendet, wenn das Container-Image erstellt wird.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Sorgen Sie dafür, dass Ihr Google Cloud-Projekt Zugriff auf ein Container-Image-Repository hat.
So konfigurieren Sie den Zugriff auf ein Docker-Repository in Artifact Registry:
- Erstellen Sie ein neues Docker-Repository an dem Speicherort, an dem sich auch Ihr Google Cloud-Projekt befindet.
Ersetzen Sie:gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
REPO_NAME
durch den Namen, den Sie für Ihr Docker-Repository wählen.REGION
durch einen Standort direkt im oder maximal nahe am Google Cloud-Projekt.DESCRIPTION
durch eine Beschreibung Ihrer Wahl.
Beispiel: Um ein
docker
-Repository inus-west2
mit der Beschreibung "Docker repository" zu erstellen, führen Sie folgenden Befehl aus:gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
- Prüfen Sie, ob das Repository erstellt wurde:
gcloud artifacts repositories list
Der Name, den Sie für Ihr Docker-Repository wählen, sollte in der Liste angezeigt werden.
- Erstellen Sie ein neues Docker-Repository an dem Speicherort, an dem sich auch Ihr Google Cloud-Projekt befindet.
Optional: Beispielanwendung herunterladen
- Klonen Sie das Beispiel-Repository auf Ihren lokalen Computer:
git clone https://github.com/GoogleCloudPlatform/buildpack-samples.git
- Wechseln Sie in das Verzeichnis, das den Anwendungs-Beispielcode enthält:
Go
cd buildpack-samples/sample-go
Java
cd buildpack-samples/sample-java-gradle
Node.js
cd buildpack-samples/sample-node
PHP
cd buildpack-samples/sample-php
Python
cd buildpack-samples/sample-python
Ruby
cd buildpack-samples/sample-ruby
.NET
cd buildpack-samples/sample-dotnet
Anwendung mit Umgebungsvariablen erstellen
- Erstellen oder aktualisieren Sie im Stammverzeichnis Ihres Dienstes den
project.toml
-Projektdeskriptor, um den[[build.env]]
-Abschnitt und eine beliebige der unterstützten Umgebungsvariablen einzuschließen:[[build.env]] name = "ENVIRONMENT_VARIABLE_NAME" value = "ENVIRONMENT_VARIABLE_VALUE"
Ersetzen Sie:
ENVIRONMENT_VARIABLE_NAME
durch den Namen einer unterstützten Umgebungsvariablen.ENVIRONMENT_VARIABLE_VALUE
durch den entsprechenden Wert für die angegebene Umgebungsvariable.
Beispiel
[[build.env]] name = "GOOGLE_ENTRYPOINT" value = "gunicorn -p :8080 main:app"
- Verwenden Sie
gcloud
, um den Anwendungsquellcode an Cloud Build zu senden:gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME
Ersetzen Sie:
LOCATION
durch den Namen der Region Ihres Container-Repositorys. Beispiel:us-west2-docker.pkg.dev
- Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts. REPO_NAME
durch den Namen des Docker-Repositorys.IMAGE_NAME
durch den Namen Ihres Container-Images
Beispiele: Wenn Sie eine Beispielanwendung heruntergeladen haben, führen Sie den entsprechenden Befehl aus:
Go
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-go
Java
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-java-gradle
Node.js
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-node
PHP
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-php
Python
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-python
Ruby
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-ruby
.NET
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-dotnet
-
Prüfen Sie, ob die Beispielanwendung erfolgreich in
REPO_NAME
veröffentlicht wurde:gcloud artifacts docker images list LOCATION-docker.pkg.dev/project-id/REPO_NAME
Ersetzen Sie:
LOCATION
durch den Namen der Region Ihres Container-Repositorys. Beispiel:us-west2-docker.pkg.dev
- Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts. REPO_NAME
durch den Namen des Docker-Repositorys.