Builder sind versionierte Images, die alle zum Erstellen eines ausführbaren Containers erforderlichen Komponenten enthalten. Jeder Builder verwendet eine bestimmte Betriebssystem-Distribution als Basis-Image (z. B. Ubuntu 22) und unterstützt mehrere Programmiersprachen-Versionen.
Möglicherweise müssen Sie die Version des Builders anpassen, wenn Folgendes erforderlich ist:
- Eine betriebssystemspezifische Abhängigkeit, die nur in einer bestimmten Builder-Version verfügbar ist.
- Eine bestimmte Version der Programmiersprache, die nur in einer bestimmten Builder-Version verfügbar ist.
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.
Builder-Version mit pack
angeben
Sie können das --builder
-Flag an den Pack-Befehl anhängen, um die Version des zu verwendeten Builders anzugeben:
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
Ersetzen Sie:
BUILDER_IMAGE_URL
durch die URL des Builders, z. B.gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
durch den Namen, den Sie für Ihr Anwendungs-Image auswählen.
Weitere Informationen zum pack
-Befehl finden Sie in der CLI-Dokumentation.
Builder-Version mit project.toml
angeben
Sie können einen Buildpack-Projektdeskriptor (project.toml
) verwenden, um den Builder beim Erstellen mit pack
festzulegen.
- Erstellen Sie im Stammverzeichnis der Anwendung eine Datei mit dem Namen
project.toml
und der folgenden Konfiguration:[build] builder = "BUILDER_IMAGE_URL"
-
Erstellen Sie Ihre Anwendung mit dem Befehl "pack":
pack build SERVICE_IMAGE_NAME
Ersetzen Sie:
BUILDER_IMAGE_URL
durch die URL des Builders, z. B.gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
durch den Namen, den Sie für Ihr Anwendungs-Image auswählen.
Remote-Builds
Sie können in Cloud Build einen bestimmten Builder verwenden. Dazu hängen Sie beim Senden des Projekts das --pack
-Flag an.
Vorbereitung
- 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
- Ihr Google Cloud-Projekt muss Zugriff auf ein Container-Image-Repository haben.
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.
Anwendung mit einem bestimmten Builder erstellen
- Verwenden Sie
gcloud
, um den Anwendungsquellcode an Cloud Build zu senden:gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME
Ersetzen Sie:
BUILDER_IMAGE_URL
durch die URL des Builders, z. B.gcr.io/buildpacks/builder:google-22
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.SERVICE_IMAGE_NAME
durch den Namen Ihres erstellten Container-Images
Weitere Informationen zum
submit
-Befehl finden Sie in der Cloud Build-Dokumentation. -
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.
Mit Cloud Run aus Quelle bereitstellen
Sie können eine Buildpacks-Projektdeskriptordatei wie project.toml
verwenden, um den Builder beim Bereitstellen aus der Quelle mit Cloud Run festzulegen.
- Initialisieren Sie eine
project.toml
-Datei im Stammverzeichnis Ihres Anwendungsverzeichnisses und fügen Sie die folgende Konfiguration in diese ein:[build] builder = "BUILDER_IMAGE_URL"
-
Anwendung aus der Quelle bereitstellen
gcloud run deploy --source . SERVICE_IMAGE_NAME
Ersetzen Sie:
BUILDER_IMAGE_URL
durch die URL des Builders, z. B.gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
durch den Namen Ihres erstellten Container-Images