Die Buildpacks von Google Cloud sind Teil eines Open-Source-Projekts, das Anwendungsquellcode in produktionsfertige Container-Images transformiert. Die von Google Cloud veröffentlichten Buildpacks implementieren die Cloud Native Buildpack-Spezifikation und sollen Ihnen beim Erstellen und Konfigurieren von Containern helfen, die Sie dann in Google Cloud bereitstellen können.
Ein Buildpack ist in der Regel für eine Sprachkomponente, Toolchain oder Anwendungskomponente verantwortlich. Beispiel: Python, pip
oder ein Webserver.
Buildpacks werden in Sammlungen zusammengefasst, die als Builder bezeichnet werden und Projekt-Quellcode analysieren, einen Build-Plan erstellen und ein bereitstellbares Container-Image generieren können.
Containerisierung mit Buildpacks
Wenn Sie Ihre Anwendung (Dienst) oder Funktion in Google Cloud Serverless-Produkten bereitstellen, wird Ihr Code mithilfe von Buildpacks in einen ausführbaren Container verpackt. In Cloud Run können Sie einen vordefinierten Container oder Ihren Quellcode bereitstellen, damit Cloud Run den Container-Build verwaltet. In Cloud Run-Funktionen und App Engine ist der Containerisierungsprozess vollständig verwaltet. Das bedeutet, dass beim Bereitstellen Ihres Quellcodes die gesamte Container-Image-Paketerstellung und -Konvertierung für Sie erledigt wird.
Jedes Container-Image wird mit allen zur Ausführung Ihres Deployments erforderlichen Komponenten erstellt, einschließlich Quellcode, System- und Bibliotheksabhängigkeiten, Konfigurationsdaten und statischen Assets. Standardmäßig verwenden die serverlosen Google Cloud-Produkte dieselben zugrunde liegenden Dienste, darunter Cloud Build für die Bereitstellungspipeline sowie Container Registry oder Artifact Registry für die Speicherung und Verwaltung von Container-Images.
Mit Buildpacks von Google Cloud erstellen:
- Builder und Buildpacks sind für die Ausführung des Build-Prozesses vorkonfiguriert und erstellen ein ausführbares Container-Image.
- Buildpacks unterstützen mehrere Programmiersprachen und erkennen automatisch, welche Sprache in Ihrem Quellcode verwendet wird.
- Sie können Buildpacks anpassen und erweitern, um zusätzliche Systemabhängigkeiten zu installieren. Allerdings kann der Standard-Builder die allgemeinen für Ihre Programmiersprache erforderlichen Aufgaben verarbeiten, einschließlich der Installation von Abhängigkeiten aus dem Paket-Repository der Sprache und der Verwendung der gemeinsamen Abhängigkeitsdatei der Sprache.
Code mit Buildpacks containerisieren
Buildpacks können lokal oder remote verwendet werden, um:
Bei Programmiersprachen, die keine Standardmethoden zum Starten einer Anwendung ausschließen, können Sie einen Procfile
verwenden, um den Prozess zu definieren, der beim Start eines Containers aufgerufen werden soll.
Mit Procfile
kann der Standardstartprozess für beliebige Buildpacks-Typen überschrieben werden. Für einige, einschließlich Python, ist dieser jedoch obligatorisch.