Integrationstests mit Spring Data MongoDB und Testcontainers

Bis vor kurzem haben wir auf Arbeit eine Embedded MongoDB zum Testen unserer Spring Boot Anwendungen verwendet. Mittlerweile benötigen wir jedoch ein paar Features, die seit MongoDB 4 hinzugekommen sind, und die Embedded MongoDB unterstützt bis jetzt nur MongoDB 3. Daran wird sich vermutlich auch in Zukunft nichts ändern (Is this project dead? #314), sodass ich mich auf die Suche nach einer Alternative gemacht habe.

Docker Images mit Google Jib bauen

Bislang habe ich Docker Images für meine Spring Boot Anwendungen immer per Dockerfile gebaut. Dafür wurde die mit dem spring-boot-maven-plugin erzeugte JAR Datei einfach in ein Docker Image kopiert. Dieses Vorgehen hat jedoch einige Nachteile, die nur mit viel Aufwand gelöst werden können. Stattdessen empfehle ich seit einiger Zeit die Verwendung von Google Jib, das eure Java Anwendungen effizient und sicher als Docker Image verpackt.

Docker Container mit Portainer verwalten

Vor kurzem habe ich alle Dienste auf meinem Server zu Docker migriert. Zur komfortablen Verwaltung der Docker Container kommt bei mir die schlanke OpenSource Anwendung Portainer zum Einsatz.

20. September 2018 Docker Portainer