Containerisierung: Jib ist reif für den Projekteinsatz

Googles Container-Image-Builder für Java-Entwickler hat den Sprung auf Version 1.0 vollzogen und wird nun für den Einsatz in Entwicklungsprojekten empfohlen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Jib 1.0

(Bild: Google)

Lesezeit: 2 Min.
Von
  • Alexander Neumann

Google hat den letztes Jahr im Juli vorgestellten Container-Image-Builder Jib in Version 1.0 veröffentlicht. Mit dem Werkzeug sollen sich alle Schritte beim Paketieren einer App in ein Container-Image konsolidieren lassen. Dabei können Java-Entwickler auf vertraute Tools zurückgreifen können. Jib zu entwickeln, entstand offenbar vor dem Hintergrund, dass seine Entwickler der Meinung waren, dass zuvor die Build-Zeiten zu langsam, das Handling mit Dockerfiles zu chaotisch und die Container zu groß waren. Jlib soll dabei helfen, Docker zu installieren, einen Docker-Daemon auszuführen und / oder ein Dockerfile zu schreiben.

Jlib ist als Plug-in in den Maven- oder Gradle-Build integriert und hat dadurch alle Informationen, um eine Applikation zu verpacken. Aufgrund der Integration in den Java-Build erkennt Jib automatisch Änderungen daran und berücksichtigt sie für künftige Container-Builds. Das Werkzeug nutzt dabei Image Layering und Registry Caching, um das Erstellen der Images durchzuführen. Es liest die Build-Konfiguration, organisiert die Applikation in verschiedenen Ebenen (Abhängigkeiten, Ressourcen, Klassen) und baut nur geänderte Ebenen neu. Außerdem soll Jib reproduzierbare Container-Images bauen können, insofern der Input identisch bleibt.

Mit Version 1.0 kann Jib auch WAR-Dateien ohne zusätzliche Konfiguration containerisieren. Standardmäßig kommt als Applikationsserver Jetty im Container zum Einsatz, doch sind wohl auch andere Server wie Apache Tomcat zu nutzen. Außerdem ist Jib in das ebenfalls von Google entwickelte Kommandozeilenwerkzeug Skaffold integriert, das die mühsamen Schritte beseitigen soll, die offenbar mit dem Neuaufbau und der Neuverteilung einer Anwendung für jede Änderung verbunden sind. Skaffold geht das an, indem es die Anwendung mit Jib containerisiert und sie im Kubernetes-Cluster bereitstellt, sobald es eine Änderung erkennt.

Google hat Samples und Codelabs für die Bereitstellung einer Spring-Boot-Anwendung oder einer Micronaut-Anwendung für Kubernetes zur Verfügung gestellt. Jib funktioniert anscheinend mit den meisten Docker-Registry-Anbietern und gehosteten Registrys. Weitere Informationen finden sich in der Ankündigung. Ansonsten ist die GitHub-Seite des Projekts ein wichtiger Ort für den Einsatz von Jib. (ane)