Bestimmten Builder verwenden

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 Sie Folgendes benötigen:

  • Eine betriebssystemspezifische Abhängigkeit, die nur in einer bestimmten Builder-Version verfügbar ist.
  • Eine bestimmte 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.

Hinweis

  1. Installieren Sie die Docker Community Edition (CE) auf Ihrer Workstation. Docker wird von pack als OCI-Image-Builder verwendet.
  2. Installieren Sie die Pack-Befehlszeile.
  3. 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. Beispiel: 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.

  1. Erstellen Sie im Stammverzeichnis der Anwendung eine Datei mit dem Namen project.toml und der folgenden Konfiguration:
    [build]
    builder = "BUILDER_IMAGE_URL"
  2. 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.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Build and Artifact Registry APIs aktivieren.

    Aktivieren Sie die APIs

  5. Installieren Sie die Google Cloud CLI.
  6. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  9. Cloud Build and Artifact Registry APIs aktivieren.

    Aktivieren Sie die APIs

  10. Installieren Sie die Google Cloud CLI.
  11. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. 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:

    1. Erstellen Sie ein neues Docker-Repository an dem Speicherort, an dem sich auch Ihr Google Cloud-Projekt befindet.
      gcloud artifacts repositories create REPO_NAME \
      --repository-format=docker \
      --location=REGION --description="DESCRIPTION"
      
      Ersetzen Sie:
      • 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 in us-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"
      
    2. 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.

Anwendung mit einem bestimmten Builder erstellen

  1. Verwenden Sie gcloud, um den Quellcode der Anwendung 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. Beispiel: 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.

  2. 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.

  1. 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"
  2. Anwendung aus der Quelle bereitstellen
    gcloud run deploy --source . SERVICE_IMAGE_NAME

Ersetzen Sie:

  • BUILDER_IMAGE_URL durch die URL des Builders. Beispiel: gcr.io/buildpacks/builder:google-22
  • SERVICE_IMAGE_NAME durch den Namen Ihres erstellten Container-Images